Android-setOnKeyListener仅在按住按钮时有效

时间:2019-02-11 11:42:16

标签: android kotlin focus adapter onkeylistener

好吧,我在EditText上有一个adapter,当我按下软键栏后面的按钮时,我想清除他的焦点。但是问题是:如果我按住该按钮,它将起作用,而当我快速按下该按钮时,它将不起作用。我应该做些什么?这是代码:

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

1 个答案:

答案 0 :(得分:0)

使用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
 })

更新 KeyEvent仅通过软键盘触发。 https://developer.android.com/reference/android/view/View.OnKeyListener