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

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

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

相关文章:

  • 2021-09-02
  • 2021-08-22
  • 2021-11-21
  • 2021-07-08
  • 2021-05-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-08-06
  • 2021-09-26
  • 2021-07-14
  • 2022-02-07
  • 2021-05-31
  • 2018-12-21
  • 2021-08-25
相关资源
相似解决方案