Android EventBus 使用
implementation 'org.greenrobot:eventbus:3.1.1'
//Event类 public class MessageWrap { public final String message; public static MessageWrap getInstance(String message) { return new MessageWrap(message); } private MessageWrap(String message) { this.message = message; }}
@Route(path = BaseConstants.LIBRARY_EVENT_BUS_ACTIVITY1)public class EventBusActivity1 extends CommonActivity<ActivityEventBus1Binding> { @Override protected void doCreateView(Bundle savedInstanceState) { // 为按钮添加添加单击事件 getBinding().btnReg.setOnClickListener( v -> EventBus.getDefault().register(this) //注册时间 ); getBinding().btnNav2.setOnClickListener( v -> ARouter.getInstance() .build(BaseConstants.LIBRARY_EVENT_BUS_ACTIVITY2) .navigation()); } @Override protected void onDestroy() { super.onDestroy(); EventBus.getDefault().unregister(this); //取消注册 } //时间响应 @Subscribe(threadMode = ThreadMode.MAIN) public void onGetMessage(MessageWrap message) { getBinding().tvMessage.setText(message.message); }}
@Route(path = BaseConstants.LIBRARY_EVENT_BUS_ACTIVITY2)public class EventBusActivity2 extends CommonActivity<ActivityEventBus2Binding> { @Override protected void doCreateView(Bundle savedInstanceState) { getBinding().btnPublish.setOnClickListener(v -> publishContent()); } private void publishContent() { String msg = getBinding().etMessage.getText().toString(); EventBus.getDefault().post(MessageWrap.getInstance(msg)); //触发事件 ToastUtils.makeToast("Published : " + msg); }}
若文章对您有帮助,帮忙点个赞!
(微信扫码即可登录,无需注册)