Eventbus接不到消息的处理办法

 最近积累了好多问题和学习记录知识,但是最近公司项目实在太忙,抽不开身,后面有时间尽量都补上,今天先记录一个遇到的小问题:eventbus无法接收到消息

我仔细查看了消息体和订阅方法,都没找到问题,那么应该是我订阅注册过程的问题了,经过log日志打印终于找到了问题所在:eventbus普通的订阅事件,即eventbus.getDefault().post(xxx)方法必须是在订阅后发送消息才可接收到,而我在注册订阅消息之前就发送了消息,所以接收不到.

解决方案:采用eventbus为我们提供的另一中订阅事件:粘性事件,用它可以实现订阅在消息发送后仍然收到消息,部分代码如下:

//将图片的url传给购买界面  (MemoryShopBuyAct..)
EventBus.getDefault().postSticky(new CustomizedImageBean(imageBackUrl));

@Subscribe(threadMode = ThreadMode.MAIN,sticky = true) //在ui线程执行
public void getImageUrl(CustomizedImageBean imageBean){
    Logger.e("从CustomizeActivity来的~~~~~~~"+ imageBean.getImageUrl());
    frontImageUrl=imageBean.getImageUrl();

}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值