0

为什么我需要回来true工作?它与文档冲突。onKeyDown()onBackPressed()

文件

4

1 回答 1

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)。

于 2013-03-03T14:40:31.137 回答