Ich versuche, den ersten Artikel aus einer Liste mit RxJava zu bekommen. Ich will jedoch nicht, dass es einen Fehler gibt, wenn das Element nicht existiert. Stattdessen möchte ich selbst damit umgehen können, indem ich einen Standardartikel zur Verfügung stelle.RxJava, erste Artikel erhalten, wenn vorhanden
Der Code, den ich unten erstellt habe, funktioniert korrekt beim Abrufen des ersten Elements in einer Liste. Obwohl ich nicht herausfinden kann, wie man .exists()
darin einbaut.
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());
}
});
Jede Hilfe wird geschätzt.
Ahh, danke! Genau das, wonach ich gesucht habe. – 535A2