public boolean onKeyDown(int keyCode, KeyEvent event)
{
if(this.keyHandler != null) this.keyHandler.onKeyDown(keyCode, event);
return super.onKeyDown(keyCode, event);
}
这是我的OpenGL Surface视图中的一个方法。显示键盘时,按下所有键 导致调用此重写回调函数。我已经在我的华硕TF101(Android 4.0.4)上进行了测试,一切正常,但是在我的LG nexus 4上,退格键(KEYCODE_DEL)按键没有做任何事情!
我有什么遗失的吗?
编辑:我还尝试在我的activity类中覆盖dispatchKeyEvent(KeyEvent事件) 但仍然没有捕获退格键。
答案 0 :(得分:1)
有两个单独的错误(问题42904和62306)影响默认Google键盘(LatinIME)中的KEYCODE_DEL生成。键盘的某些版本有一个错误,有些版本有另一个,有些版本没有。所以,这就是为什么你的一些设备出现问题而有些设备出现问题的原因;这取决于设备上安装的Google键盘版本。
我已经对此进行了研究,并设计了一个带代码的解决方法,似乎解决了这两个问题。介绍变通方法的帖子还解释了它们在何处以及如何发生。那篇文章可以在这里找到:
Android - cannot capture backspace/delete press in soft. keyboard
答案 1 :(得分:-1)
您可以尝试捕获键并使用按下后退时触发的此方法。 http://developer.android.com/reference/android/app/Activity.html#onBackPressed()
您可以使用
super.onBackPressed();
在您的方法中,或者您可以覆盖它以在点击时执行其他操作
@Override
public void onBackPressed()
{
// your instructions
}