我想收集集合中发出的每个项目。我是这样做的:
List found = new ArrayList();
controller.search(query)
.doOnCompleted(new Action0() {
@Override
public void call() {
//Do something with "found" list
}
}).subscribe(new Action1<String>() {
@Override
public void call(String item) {
found.add(item);
}
});
是否有 RxJava 内置方法来执行此操作?
最佳答案
使用 toList
收集发出的字符串,并在可观察对象完成后将它们作为单个列表发出,例如
controller.search(query)
.toList()
.subscribe(new Action1<List<String>>() {
@Override
public void call(List<String> found) {
// Do something with the list
}
});
https://stackoverflow.com/questions/38739728/