1
    public boolean onKeyDown(int keyCode, KeyEvent event) 
    {
        if(this.keyHandler != null) this.keyHandler.onKeyDown(keyCode, event);
        return super.onKeyDown(keyCode, event);
    }

这是我的 OpenGL Surface 视图中的一种方法。当显示键盘时,所有按键都会导致调用此覆盖的回调函数。我已经在我的 Asus TF101 (Android 4.0.4) 上进行了测试,一切正常,但是在我的 LG nexus 4 上,退格键 (KEYCODE_DEL) 按键没有任何作用!

有什么我想念的吗?

编辑:我也尝试在我的活动类中覆盖 dispatchKeyEvent(KeyEvent event) 但仍然没有捕获退格键。

4

2 回答 2

1

有两个单独的错误(问题 42904 和 62306)会影响默认 Google 键盘 (LatinIME) 中的 KEYCODE_DEL 生成。有些版本的键盘有一个错误,有些版本有其他错误,有些则没有。因此,这就是您的某些设备出现问题而其他设备没有出现问题的原因;这取决于设备上安装的 Google 键盘版本。

我对此进行了研究,并设计了一种解决方法,使用代码似乎可以解决这两个问题。介绍解决方法的帖子还解释了它们发生的位置和方式。该帖子可以在这里找到:

Android - 无法以软方式捕获退格/删除键。键盘

于 2014-01-17T04:41:16.527 回答
-1

您可以尝试捕获返回键并使用此方法,该方法在按下返回时触发。 http://developer.android.com/reference/android/app/Activity.html#onBackPressed()

您可以使用

super.onBackPressed();

在您的方法中,或者您可以在单击时覆盖它以执行其他操作

@Override
public void onBackPressed() 
{
       // your instructions
}
于 2013-08-30T15:33:38.103 回答