OnKeyDown和OnBackPressed组合

时间:2013-03-03 14:01:19

标签: android

为什么我需要在true中返回onKeyDown(),以使onBackPressed()有效? 这与文档冲突。

documentation

1 个答案:

答案 0 :(得分:0)

我做了一个小实验来证实这一点。

你的权利似乎没有确认文件。

这里使用的代码:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    super.onKeyDown(keyCode, event);
    return true;
}

@Override
public void onBackPressed() {
    Log.w("TEST", "I'm CALLED !");
    super.onBackPressed();
}

当onKeyDown返回false时,不会调用onBackPressed。

我们必须注意,如果我们不调用super.onKeyDown(),则永远不会调用onBackPressed 所以我想我们必须看到:onBackPressed作为onKeyDownCall的一部分被调用,所以如果onKeyDown不管理事件(返回false)则不应该触发。

相关问题