我有这样的事情:
mStringList = new ArrayList<>();
for (int i = 0; i < 10; i++) {
mStringList.add(i + "");
Log.d(TAG, "iterration " + i );
}
我需要用RxJava观察这个ArrayList
。如何创建Observable
并订阅它,以便我可以看到添加到ArrayList
的每个元素?
我希望在我的控制台中看到类似的内容:
console -> iterration 0;
console -> observer 0;
console -> iterration 1;
console -> observer 1;
谢谢!
答案 0 :(得分:0)
即使您正在寻找RxJava解决方案,也不需要这样做,因为android提供了自己的方法/类来处理它。
首先是Android-Architecture-Components LiveData。
为此,您有ObservableList
和ObservableArrayList
。
由于您想要侦听更改,因此可以使用新的DiffUtil类,它正是您正在寻找的内容。
如果您仍想使用RXJava,可以使用另一种尝试:
PublishSubject<String> sub = PublishSubject.create();
List<String> list = new ArrayList<>();
public void addDataToList(String str) {
list.add(str);
sub.onNext(str);
}
最后观察你的主题。
sub.subscribe( next -> { .. }, error -> { });
答案 1 :(得分:0)
如果我理解正确,你只需要做一个动作:
Checked
多数人。