为什么我需要在true
中返回onKeyDown()
,以使onBackPressed()
有效?
这与文档冲突。
答案 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)则不应该触发。