【发布时间】:2015-03-04 17:36:19
【问题描述】:
虽然我认为我已经掌握了如何使用 RxJava 的基础知识,但我在使用观察者模式时遇到了麻烦。
基本上,我想要做的是有一个静态的List 对象,我可以监控,并使用添加到列表中来将此数据提交给网络服务。
到目前为止,我的方法只是创建一个static List<Object> 和一个static Observable<Object>。这个 observable 是通过做一个
observable = Observable.from(listOfObjects);
然后,我的上传逻辑包含在 .subscribe() 调用中。如果我提前设置了List,这将起作用,但我想在运行时到处填充它。如果我再次致电.subscribe(),这仍然有效,但感觉就像我这样做是做错了什么。我以为我可以让现有订阅只对从可观察对象发出的任何新项目采取行动,但是当我添加到列表时似乎没有发生任何事情。
感谢任何关于更好/正确方法的见解。
【问题讨论】:
-
我很好奇这个问题的答案,我肯定也会使用它。我认为 RxJava 本身没有任何解决方案,我们想要的基本上是 stackoverflow.com/questions/7260746 或 twistedoakstudios.com/blog/…
-
dwursteisen 的回答是正确的。您必须围绕
List创建一个包装器,以便在列表中添加或删除项目时通知订阅者。
标签: rx-java rx-android