【发布时间】:2016-12-29 16:01:37
【问题描述】:
以下代码使用Observable.from() 从列表中发出项目。对于每个项目,使用来自devide.connectForPolice() 的Observable 执行maxConcurrent 值为1 的flatMap()。 device.connectForPolice() 方法对当前项执行多项操作,最终将调用Observable.just() 以继续下一项。这是代码:
mConnectingSubscription = Observable.from(mAdapter.getItems())
.flatMap(device -> {
return device.connectForPolice(device.getName());
}, 1)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<String>() {
@Override
public void onCompleted() {}
@Override
public void onError(Throwable e) {}
@Override
public void onNext(String s) {
if (s.contains("str")) {
mAdapter.removeItem(s);
}
}
});
当此代码开始运行时,我将在屏幕上添加一个按钮,单击后我想“强制”原始 Observable.from(mAdapter.getItems()) 中的当前项目完成,以便列表中的下一个项目可以通过连锁,链条。它本质上是一个“跳过”或“完成”按钮。将其整合到这个事件链中的最佳方式是什么?
【问题讨论】:
标签: rx-java