Eventbus
1. 導入
implementation 'org.greenrobot:eventbus:3.1.1'
2. 自定義事件類
public class MessageEvent{
private String message;
public MessageEvent(String message){
this.message=message;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
3. 注冊Eventbus
在需要接收事件消息的Activity祠挫、Fragment等四大組件中注冊Eventbus蜒秤。
1) 注冊
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EventBus.getDefault().register(this)瘩绒;
...//其它代碼
}
2) 注銷
@Override
protected void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
...//其它代碼
}
4. 訂閱處理事件
在注冊Eventbus的組件中杠步,可以訂閱并處理事件,通過XXXEvent事件類來分辨事件的類型。
@Subscribe
public void XXX(MessageEvent messageEvent) {
...
}
5. 發(fā)送事件
在其它組件中可以發(fā)送事件。
EventBus.getDefault().post(new MessageEvent());