[英]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.