-
Notifications
You must be signed in to change notification settings - Fork 394
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
我使用eventbus传递点击事件,出现了订阅者执行俩次的问题 #46
Comments
我打断点看,发送事件的位置只发送了一遍,但是接收事件的位置出现了俩次 |
我收到三次。。 |
@ccclll1990 问题的原因找到了,是fragment的复用引起的,如果fragment要复用就要进行特殊的处理 |
还有种情况,如果传的参数是Map类型,还会执行N次(N>5),看源码是Map继承自多个类的子类,然后符合这些类的响应,自然就执行多次了,解决办法是只传基础类型数据,int,boolean,string及数组类型,或者改源码 |
@creky 我也遇见这个问题了,我直接传递父类的直接子类就解决了这个问题,谢谢了哈。 |
@chengzhijun0706 你好,我也是fragment出现的,怎么处理的? |
如果fragment存在复用的场景需要特殊处理,我是这样处理的,仅供参考(前提时发布事件的时候能够取到订阅的对象) 1.首先Subscriber注解中增加一个方法
example: 注册时
发布事件时
|
@xilost 我用了一个比较笨的办法,就是在你传递的对象中携带有一个区分页面的字段,在接受的地方判断这个字段的值是否和本页面相等就好了 |
传递的参数中的对象有一个字段是list
The text was updated successfully, but these errors were encountered: