天天看点

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,如需转载请自行联系原作者