2013-03-03 24 views

回答

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的一部分被调用,所以不应该被触发if onKeyDown不管理事件(返回false)。

+0

OP已经知道。他想知道*为什么* – 2013-03-03 14:42:21

+0

我没有让自己清楚:由于onBackPressed作为onKeyDownCall的一部分被调用,所以返回的布尔值也关注它。如果返回true,则将Back按钮考虑在内,并调用onBackPressed。 – Guian 2013-03-03 14:50:44