天天看點

TabActivity子類中處理傳回鍵事件

最近使用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,如需轉載請自行聯系原作者