现在的位置: 首页 > 编程技术 > 安卓开发 > 正文

安卓监听整个activity的按键事件

2014年12月09日 安卓开发 ⁄ 共 480字 ⁄ 字号 安卓监听整个activity的按键事件已关闭评论 ⁄ 阅读 791 次

事情是这样的,为了优化app的功能,需要在app登录界面无论在哪里按下enter键,都可以起到摁下“登录”button的作用。靠OnKeyListener不行,因为这个只能监听一个View的按键事件,焦点是在不停的变换的,所以监听一个View无论如何是不行的。找了几次结果终于收敛到dispatchKeyEvent。

这个函数是将整个Activity的事件分发给相应的View,同时,这个是Activity自带的函数,不需要set listener或者implement listener,直接重写就可以。给个例子,加在你需要监听整个Activity按键的代码的后面:

@Override
public boolean dispatchKeyEvent(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.KEYCODE_ENTER&&e.getAction()==KeyEvent.ACTION_DOWN) {
        buttomgo.performClick();
        return true;
    }
    return super.dispatchKeyEvent(e);
}

抱歉!评论已关闭.