2013-03-03 87 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