我之前使用过 EventBus,它很容易使用和理解。但这一次,我想尝试使用 RxJava 实现类似的事件总线通信。然而,如何从 RxJava 中移除事件并不是很清楚,更确切地说,应该如何设计以实现与 EventBus 在调用 `removeStickyEvent` 时相似的行为?
在 RxJava 中,我可以使用 BehaviorSubject,在订阅此 Observable 时回复最后一个事件。但当这个事件被处理后,我应该怎么做呢?如果我不希望再次重播这个事件,该怎么办?
例如,一个 Fragment 触发了一个事件然后结束了。另一个 Fragment 监听这个事件并处理它。然后,如果此应用程序从不同的情况下再次触发“另一个”活动,则会再次订阅相同的 BehaviorSubject 并处理那个旧事件,这并不是我想要实现的。
我参考了这个项目:https://github.com/marwinxxii/AndroidRxSamples/blob/master/app/src/main/java/com/github/marwinxxii/rxsamples/EventBusSampleActivity.java。
在 RxJava 中,我可以使用 BehaviorSubject,在订阅此 Observable 时回复最后一个事件。但当这个事件被处理后,我应该怎么做呢?如果我不希望再次重播这个事件,该怎么办?
例如,一个 Fragment 触发了一个事件然后结束了。另一个 Fragment 监听这个事件并处理它。然后,如果此应用程序从不同的情况下再次触发“另一个”活动,则会再次订阅相同的 BehaviorSubject 并处理那个旧事件,这并不是我想要实现的。
我参考了这个项目:https://github.com/marwinxxii/AndroidRxSamples/blob/master/app/src/main/java/com/github/marwinxxii/rxsamples/EventBusSampleActivity.java。