只是有點理論在這裏爲標準Object Oriented Programming
:堅持原則,推薦喜歡鬆耦合這使得你的項目代碼較少依賴於對方。您可以稍後閱讀更多內容。
現在,使用Events
,您可以設置與自然Publisher/Subscriber
設計模式同義的系統。就像這樣:
需要notify
其他活動的活動被稱爲Publisher
和需要是notified
其他活動被稱爲Subscribers
。
從這裏:
目前已經建立和測試庫做活動在android系統。像我最喜歡的EventBus
。
步驟1此行添加到您的app-level build.gradle
文件:
compile 'org.greenrobot:eventbus:3.0.0'
然後創建一個簡單的Plain Old Java Object
又名POJO
類是這樣的:
public class UpdateTextViewEvent{
private String textToShow;
public UpdateTextViewEvent(String text){
this.textToShow = text;
}
//add your public getters and setters here
}
步驟2通知其他人:
當你想通知任何人的變化,只需調用此方法:
EventBus.getDefault().post(new UpdateTextViewEvent("Some new Text"));
步驟3收到通知
對於那些誰希望收到此事件,簡單地做到這一點:
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
@Override
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
}
注意:實際處理事件:
@Subscribe
public void onEvent(UpdateTextViewEvent event){
String text = event.getTextToShow();
//now you can show by setting accordingly on the TextView;
}
這很容易做到,通過在您的不同活動中刪除static
引用來解耦您的代碼
我希望這有助於!祝你好運!
您可以使用共享首選項或使用'intent.putExtra()'方法將此號碼傳遞給每個活動。 –