繁体   English   中英

Android App中的全局方法?

[英]Global method in Android App?

我是Android的新手,我需要我的应用随时监听某个特定的按键。 我设法通过以下代码使它在每个活动中都能正常工作:

@Override
public boolean dispatchKeyEvent(KeyEvent e) {
    if (e.getKeyCode() == KeyEvent.KEYCODE_F) {
        Log.d("Test","YOU PRESSED THE F KEY");
        startActivity(new Intent(getApplicationContext(), Activity2.class));
        return true;
    }
    return super.dispatchKeyEvent(e);
};

但是,我试图找出是否可以在代码中的某个位置使用此方法一次? (而不是在每个单独的活动中都有这段代码)

创建一个新的抽象活动,您所有的活动都可以扩展。

public abstract class BaseActivity extends Activity {
    @Override
    public boolean dispatchKeyEvent(KeyEvent e) {
        if (e.getKeyCode() == KeyEvent.KEYCODE_F) {
            Log.d("Test","YOU PRESSED THE F KEY");
            startActivity(new Intent(getApplicationContext(), Activity2.class));
            return true;
        }
        return super.dispatchKeyEvent(e);
    }

}

您可以定义一个抽象基类,该基类可以扩展Activity并像您所做的那样覆盖dispatchKeyEvent ,然后使该类的所有活动成为子类。
也许您想阅读本教程

是的,您可以先定义一个抽象父活动来保存此方法,然后再从该活动继承,以实现此目的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM