Как убрать с экрана клавиатуру при клике >не< на EditText? (устранить двойное открытие клавиатуры)
При выполнении данной функции при клике на EditText происходит закрытие и повторное открытие клавиатуры. А нужно чтобы данная функция запускалась только если клик был не по EditText. Если по EditText - то не нужно закрывать клавиатуру. То есть нужно: если входим в EditText - то функция не срабатывает. И наоборот если кликнули на любое место, кроме EditText - то код пусть работает. EditText расположены во фрагменте, функция находится в activity.
override fun dispatchTouchEvent(event: MotionEvent): Boolean {
if (event.action == MotionEvent.ACTION_DOWN) {
val v: View? = currentFocus
(v as? EditText)?.let {
it.clearFocus()
val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(it.windowToken, 0)
}
}
return super.dispatchTouchEvent(event)
}