我需要识别隐藏软键盘的后退事件
我已经通过覆盖以下方法进行了测试
但是控制器没有到达那里
在子类 EditText 视图中使用 dispatchKeyEventPreIme:
@Override
public boolean dispatchKeyEventPreIme(KeyEvent event) {
if(KeyEvent.KEYCODE_BACK == event.getKeyCode()) {
//do what you need here
}
return super.dispatchKeyEventPreIme(event);
}
@Ludevik 的回答更新
首先建议覆盖 onKeyDown()
其次,如果按键已被处理,则返回 true 而不是 super.onKeyDown()
更新的代码(在 Kotlin 中):
override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean {
// if recognise the keyCode then process
return if (keyCode == desiredKeyCode) {
// do what you need to do
true // key press handled
} else {
super.onKeyDown(keyCode, event)
}
}
至于关闭软键盘-我的经验是,这可能会有问题(导致意想不到的后果)