簡體   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