这次项目中需要实现在fragment中选择参数,然后在其他fragment和activty页面中接收参数,获取参数后,修改页面标题背景色。使用到event3.0粘性事件poststicky
本文由战狼户外 (个人小网站)赞助提供。 作者 战狼户外
之前使用了eventbus2.4,感觉蛮好用的,使用post方法, 遇到了问题:我在fragment中选择listview条目的某个选项,在其他 fragment中可以获取参数,但是其他activity页面居然获取不到。后来在百度查了好多,有网友 说是 eventbus3.0新版本的poststicky就是专门解决这个问题的。
为什么出现这个问题呢?
当前选择的fragment与 接收的其他fragment 同属于一个activity,页面加载时候, 接收的fragment已经注册接收eventbus事件,所以后面的fragment才能接收到。接收的activity页面没有初始化,等于就没有注册接收eventbus事件,所以就出现遇到的问题;
eventbus 原理: 先注册接收事件,才能接收别人发送的 postevent。