фокус (клавиатуру) нужно только если клик был не по EditText
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)
}
То есть нужно: если входим в EditText то не надо срабатывать функции. И наоборот если кликнули на любое место, кроме EditText - то код пусть работает
Это - ответ на вопрос что такое currentFocus.
В моем случае это то, что имеет фокус До или После запуска функции?
Обсуждают сегодня