Comments (6)
@maruiwhu 这种情况你需要自己通过内部状态来控制是否接收了消息了。
from androideventbus.
@maruiwhu 目前来看,EventBus不能很好地实现点对点或者叫一对一的通信,AndroidEventBus加了一个Tag,更进一步了,但仍无法适应各种情况,如一个Subscriber有多个对象实例的情况。EventBus本为了解耦,如果为每个post绑定Subscriber的话,又会增加耦合。在你的需求中,如果拿到数据后,你的post是在fragment中发出的,可以将Tag设为fragment对象的hashcode,这样ViewPager中的Fragment就能响应各自的数据请求了
from androideventbus.
我也碰到这样的问题,想让tag唯一,即把hashcode也加到tag字符串中,但是注解有限制必须是常量表达式,没法做到设置tag唯一。后来想了一个办法,在EventBus的源码里增加了一个手动注册事件的接口,这样就可以把tag+hashcode注册进去。@bboyfeiyu 不知道有没有更好的办法。。。
from androideventbus.
其实,Event对象里面可以添加一个标识, 在处理的时候, 做个if...else 判断就可以了。
from androideventbus.
通过封装event对象来放入区分的条件吧~
from androideventbus.
@wurensen 如何进行封装呢,我也遇到了相同的问题
from androideventbus.
Related Issues (20)
- 我发现在参数为List<T>的情况下会被调用2次 HOT 3
- 接收到数据后,界面无法更新
- 关于 @Subscriber(tag = "my_tag",mode = ThreadMode.POST) 接收不到消息 HOT 2
- EventBus 3.0 支持注解并且方法名无限制 HOT 2
- 使用jar收不到消息
- 出现错误
- 我使用eventbus传递点击事件,出现了订阅者执行俩次的问题 HOT 8
- 有没有设置优先级的方法啊
- AndroidEventBus的优化建议 HOT 1
- 针对README中“与greenrobot的EventBus的不同”的话题提出几点自己的看法↓↓↓ HOT 10
- 依赖生成 HOT 1
- 我的项目是分模块的 我发现无法在在模块间通讯
- 比如a模块一个页面 b模块一个页面 无法通讯
- 关于sticky事件的移除问题 HOT 1
- 在Android 4.4.4上找不到PersistableBundle
- 有人遇到eventbus重复接收的问题吗?我在系统7.0,8.0上会重复接收,但在6.0及以下是正常的,只有一次接收。 HOT 1
- 支持跨module通信吗 HOT 4
- poststick不起作用,原因是代码被注释了,请释放 HOT 3
- 一个接收方法同时接收多个tag的实现方案? HOT 1
- 比 EventBus 更高效的事件总线(BusUtils)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from androideventbus.