Ich mag im Grunde dies zu einem beobachtbarenaktualisieren einzige Liste Artikel RXJava
for-Schleife konvertierenprivate static List<Book> books
public static void replaceBook(Book book) {
for (int i = 0; i < books.size(); i++) {
if (books.get(i).getId().equals(book.getId())) {
books.set(i, book);
}
}
}
Das ist, was ich habe bisher aber seine Arbeit nicht. Ich dachte, der Kartenoperator würde das gefilterte Objekt aktualisieren, aber mir scheint etwas zu fehlen.
Observable.from(books).filter(new Func1<Book, Boolean>() {
@Override
public Boolean call(Book b) {
return b.getId().equals(book.getId());
}
}).map(new Func1<Book, Book>() {
@Override
public Book call(Book b) {
return book;
}
}).subscribe();
aktualisieren
Basierend auf Boris und Tassos die Antworten bekam ich folgende Antwort, die
Observable.from(books)
.map(b -> b.getId().equals(book.getId()) ? book : b)
.toList()
.subscribe(s -> books = s);
wollen Sie 'Filter' einige Elemente aus 'Liste scheint zu funktionieren '? Oder ersetzen Sie ein Buch in der Liste und in der Rückgabeliste? –
Ich möchte das Listenelement ersetzen und die Liste zurückgeben. – sirFunkenstine