3
RxJavaを使用してリストから最初の項目を取得しようとしています。ただし、アイテムが存在しない場合は、エラーをスローする必要はありません。代わりに、私はデフォルトのアイテムを提供することでそれを処理できるようにしたいと思います。RxJava、存在する場合は最初の項目を取得
以下に作成したコードは、リストの最初の項目を取得する際に正しく機能します。私はそれに.exists()
を組み込む方法を理解することはできませんが。
api.getLibraryEntries(username)
.observeOn(AndroidSchedulers.mainThread())
.flatMap(new Func1<List<Entry>, Observable<Entry>>() {
@Override
public Observable<Entry> call(List<Entry> Entries) {
return Observable.from(Entries);
}
})
.first(new Func1<Entry, Boolean>() {
@Override
public Boolean call(Entry entry) {
return entry.getId() == id;
}
})
.subscribe(
new Action1<Entry>() {
@Override
public void call(Entry entry) {
view.showEntry(entry);
}
},
new Action1<Throwable>() {
@Override
public void call(Throwable throwable) {
view.showError(throwable.getMessage());
}
});
助けてください。
ああ、ありがとうございました!ちょうど私が探していたもの。 – 535A2