最近积累了好多问题和学习记录知识,但是最近公司项目实在太忙,抽不开身,后面有时间尽量都补上,今天先记录一个遇到的小问题:eventbus无法接收到消息
我仔细查看了消息体和订阅方法,都没找到问题,那么应该是我订阅注册过程的问题了,经过log日志打印终于找到了问题所在:eventbus普通的订阅事件,即eventbus.getDefault().post(xxx)方法必须是在订阅后发送消息才可接收到,而我在注册订阅消息之前就发送了消息,所以接收不到.
解决方案:采用eventbus为我们提供的另一中订阅事件:粘性事件,用它可以实现订阅在消息发送后仍然收到消息,部分代码如下:
//将图片的url传给购买界面 (MemoryShopBuyAct..) EventBus.getDefault().postSticky(new CustomizedImageBean(imageBackUrl));
@Subscribe(threadMode = ThreadMode.MAIN<