Android - setOnKeyListener работает только если я удерживаю кнопку - PullRequest
0 голосов
/ 11 февраля 2019

Ну, я получил EditText на моем adapter, что я хочу очистить его фокус, когда я нажимаю кнопку назад на панели программных клавиш.Но проблема в том, что это работает, только если я удерживаю эту кнопку, а не когда быстро нажимаю.Что я должен сделать?Вот код:

holder.comprimento.setOnKeyListener(View.OnKeyListener { v, keyCode, event ->
     if (keyCode == KeyEvent.KEYCODE_BACK) {
          v.clearFocus()
          return@OnKeyListener true
     }
     false
 })

1 Ответ

0 голосов
/ 11 февраля 2019

Используйте KeyEvent.KEYCODE_DEL вместо KeyEvent.KEYCODE_BACK.

 holder.comprimento.setOnKeyListener(View.OnKeyListener { v, keyCode, event ->
 if (keyCode == KeyEvent.KEYCODE_DEL) {
      v.clearFocus()
      return@OnKeyListener true
 }
 false
 })

UPDATE KeyEvent будет запускаться только с программной клавишей.https://developer.android.com/reference/android/view/View.OnKeyListener

...