This is what I've tried:
override fun onBackPressed() {
nicknameInput.clearFocus()
finish()
}
It only closes soft keyboard but not activity and it also not clears the focus.
The solution here:
Android - onBackPressed close soft keyboard AND activity
only works for SearchView
EDIT:
This is almost the whole activity:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_set_nickname)
prefs = getSharedPreferences("userData", 0)
val preset = intent.getStringExtra("preset")
nicknameInput.setText(preset)
openSoftKeyboard(this, nicknameInput)
nicknameBG.setOnClickListener {
finish()
}
btnNotNowNickname.setOnClickListener {
finish()
}
btnSaveNickname.setOnClickListener {
checkNickname()
}
nicknameInput.setOnKeyListener(View.OnKeyListener { v, keyCode, event ->
// Log.d("pikabo", keyCode.toString())
if(keyCode == KeyEvent.KEYCODE_ENTER) {
checkNickname()
return@OnKeyListener true
}
false
})
} // ON CREATE
private fun openSoftKeyboard(context: Context, view: View) {
view.requestFocus()
this.window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE)
}
Only the function checkNickname() is missing which isn't necessary here for sure