EventBus
添加依赖 在app的gradle下添加依赖
implementation 'org.greenrobot:eventbus:3.2.0'
编写消息体class
public class MessageEvent {
String data;
public MessageEvent(String data) {
this.data = data;
}
}
接收页面
如Fragment中
在Fragment的 onCreateView中 注册
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
EventBus.getDefault().register(this);
}
在 onDestroyView中解除注册
@Override
public void onDestroyView() {
super.onDestroyView();
EventBus.getDefault().unregister(this);
}
接收页面添加接收方法 (注意Subscribe 注解一定要有不然会报错)
@Subscribe(threadMode = ThreadMode.MAIN)
//接收数据
public void onMessageEvent(MessageEvent event){
Log.d(TAG, "onMessageEvent: ");
//刷新数据
// FIXME: 2020-03-09 状态标识传什么
mPresenter.getReviewList("0","10", number,"D",startTimeTv.getText().toString(),endTimeTv.getText().toString(),gajgdm,gajgjb,getActivity());
}
发送方
在对应的点击事件或 页面生命周期中 发送消息
EventBus.getDefault().post(new MessageEvent("更新数据"));
如果一个页面不止一个发送消息 可以通过消息体传入的参数来判断 是哪一个动作发送的消息。