EventBus--出现的问题

--- 1 , EventBus收不到消息问题

项目中遇到的问题,做搜索商品的时候遇到,

1.情况是一个FragmentActivity包含四个碎片Fragment,在FragmentActivity中点击搜索按钮要向Fragment发送消息显示碎片界面并执行搜索任务,问题出在这,消息就是收不到,但是测试发现当界面显示后再发送,消息可以正常接收,最后到布局里找问题,尝试了下,把Fragment的根布局从GONE该为Invisible,发现消息可以正常接收,所以总结原因是EventBus消息接收前提是不能为GONE

2.在碎片中注册反注册EventBus时要传递一个上下文参数,习惯性写成getActivity()运行后报错,说我Fragment的父Activity没有对应接收消息的方法,原因就出来了,说明我父Activity注册了EventBus,但是我没有在父Activity写注册代码啊,原因当然是我刚才在碎片中注册时传递上下文参数时写成了getActivity(),getActivity()获取的是父Activity的上下文,所以导致给父Activity注册了,改成this,即可。

原文地址:https://www.cnblogs.com/awkflf11/p/6027390.html