无法处理android的键盘事件

时间:2011-04-04 15:49:40

标签: android

我正在尝试处理我的应用程序上的后退按钮事件,但它根本不起作用。我根据帖子Android: TabActivity Nested Activities

在我的应用中添加了ActivityGroup

我根据本网站的很多帖子添加了以下代码

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    Log.d(this.getClass().getName(), "back button pressed: " + keyCode);
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
        Log.d(this.getClass().getName(), "back button pressed");
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

但由于某种原因,我仍然不知道我没有得到记录的行,它会回到主屏幕。我知道onBackPressed对我不起作用,因为我需要使用api level 4实现这个应用程序,并且它在这个级别上不可用。

我的ActivityGroup只有两个活动,一个列表视图和一个详细信息视图。我已经将这些代码放在所有三个类上以尝试不同的东西,但仍然无法使其工作。我在日志中看到“没有键盘为id 0”,但我认为这并不意味着可能与问题有关。

我很感激任何答案。 非常感谢 Ť

1 个答案:

答案 0 :(得分:0)

在返回行的正上方添加一条日志语句,看看KeyEvent正在发生什么。

像这样:

Log.w(keyCode, "This is the key code that is returned");
return super.onKeyDown(keyCode, event);

现在查看返回的值并验证/将其与KeyEvent.KEYCODE_BACK进行比较,这可能会指出您的问题方向。