具体步骤:
1.在app的gradle里声明一下
//引入eventbus
compile 'org.greenrobot:eventbus:3.0.0'
2.在activity的需要发送消息的地方:
EventBus.getDefault().post( "消息。。。");
3.在需要接收消息的activity,在onCreate函数里注册一下它:
//注册EventBus
EventBus.getDefault().register(this);
获取消息:
@Subscribe(threadMode = ThreadMode.MAIN)
public void getData(String str) {
if (!TextUtils.isEmpty(str)) {
tvShowMassage.setText(str);
}
}
在onDestroy函数里记得注销EventBus:
@Override
protected void onDestroy() {
super.onDestroy();
//注销EventBus
EventBus.getDefault().unregister(this);
}
注意:必须写明this,表示当前activity。如果获取到其他的虽然也能实现注销功能,但却并没有注销掉当前activity的。我曾经又一次使用unregister(getApplicationContext()),结果发现并没有注销掉当前活动的消息接受,它仍然在接受消息。
**
补充
**:我发现传递int型的数据会失效,除了int型的其它就没有问题
本文详细介绍了如何在Android应用中使用EventBus进行跨组件通信。包括如何引入依赖、发送消息、注册与注销接收者等关键步骤,并附带了注意事项及常见问题解决办法。
2357

被折叠的 条评论
为什么被折叠?



