3
map
、concatMap
、all
を使用してオブジェクトを反復処理するさまざまな演算子を試しましたが、リストから要素を削除できません。ここでRxJava:リストから要素を削除
は、コードの一部です:
Observable.fromIterable(selectedJobs)
.observeOn(AndroidSchedulers.mainThread()) // Added this from one answer in SO. but still no resolution.
.all(homeJob -> {
if (!homeJob.isCanCloseJob()) {
selectedJobs.remove(homeJob); // <- this is what causing Exception
//toast message
} else {
//do something
}
return true;
})
.subscribe(new SingleObserver<Boolean>() {
@Override
public void onSubscribe(Disposable disposable) {
}
@Override
public void onSuccess(Boolean aBoolean) {
baseRealm.executeTransaction(realm -> realm.copyToRealmOrUpdate(selectedJobs));
}
@Override
public void onError(Throwable throwable) {
AppLogger.e(tag, throwable.getMessage());
// throws Caused by: java.util.ConcurrentModificationException
}
});
私が欲しいのは、リストからオブジェクトを削除した後の状態をチェックすることです。
私はfilter'演算子 'と試みたが、私はすべてのフィルタオブジェクトを望んでいたし、それはあなたが戻ります' ToListメソッド() '関数でやっていることです'onSuccess'のフィルタリングされたリストありがとう。私はこの答えを受け入れています – Aks4125