次のコードは、Observable.from()
を使用してリストからアイテムを発行します。各項目では、のmaxConcurrent値が1で、Observable
がdevide.connectForPolice()
で実行されます。 device.connectForPolice()
メソッドは、現在の項目に対して多くの操作を実行し、最終的にObservable.just()
を呼び出して次の項目に移動します。ここでは、コードは次のようになります。ボタンをクリックしたときにonNext()を強制的に実行する
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())
から「力」現在の項目はので、次を完了するためにしたいと思いますリスト内のアイテムはチェーンを通過できます。基本的に「スキップ」または「終了」ボタンです。それをこの一連のイベントに統合する最良の方法は何ですか?