簡體   English   中英

如何在活動之間共享點擊處理程序

[英]How to share on click handler between activities

場景,我有兩個活動,活動 A 和活動 B,它們都從 Activity 擴展,我的 ActionBar 上也有一個基本菜單 xml,在handler()方法上定義了 onClick,我該如何使此方法可用於我的兩個活動沒有在兩者中實施?,制作一個共同的活動 SuperClass 是唯一的方法嗎?

通用的答案是,您可以創建一個通用的超類,如您所說,或者您可以創建一個輔助類,其中使用該方法的每個 Activity 類將具有:

public void onSomethingClick(View target){
    MyActionBarHelperMethods.onSomethingClick(View target, /* whatever other things from this class you need */);
}

如果您有很多事情想要以這種方式處理,這可能會變得有點冗長,但它比在任何地方實現相同的方法都簡單。 以這種方式在您的操作欄中實現一個新項目也會很痛苦(因為您必須將該方法添加到您想要使用它的每個 Activity)。 然而,再一次,如果你想改變它,它比在每個地方都修改方法更不痛苦。

當您想要添加新方法時,可能減輕頭痛的一種方法是讓每個 Activity 實現一個接口,其中包含您希望它們擁有的所有操作欄方法; 大多數 IDE 會意識到您添加了一個新的接口成員,並提議將其添加到所有實現類中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM