最近使用TabActivity,按下傳回鍵卻發現onKeyDown方法根本沒有被調用,Google之,有人說需要在每個子Activity中實作相應的監聽,無奈過于麻煩。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
exit();
return true;
}
return super.onKeyDown(keyCode, event);
}
在dispatchKeyEvent中處理Key事件,注意沒有處理的鍵最後要調用super.dispatchKeyEvent(event);以免其他鍵得不到系統處理,代碼如下:
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
if (event.getAction() == KeyEvent.ACTION_DOWN
&& event.getRepeatCount() == 0) {
exit();
return true;
}
return super.dispatchKeyEvent(event);
本文轉自 breezy_yuan 51CTO部落格,原文連結:http://blog.51cto.com/lbrant/612709,如需轉載請自行聯系原作者