Problem wysokiego poziomu, który próbuję rozwiązać, przekształca listę Foo
przedmioty zawarte w pobranym FooContainer
(Observable) do listy FooBar
obiekty używające RxJava.
Moja (zdezorientowana) próba:
fooContainerObservable
.map(container -> container.getFooList())
.flatMap(foo -> transformFooToFooBar(foo))
.collect( /* What do I do here? Is collect the correct thing? Should I be using lift? */)
.subscribe(fooBarList -> /* Display the list */);
Moje zamieszanie (lub przynajmniej jeden punkt tego) jest krokiem, przenoszącym spłaszczoną listę z powrotem na listę.
Uwaga: próbuję to zrobić w aplikacji na Androida.
Odpowiedzi:
17 dla odpowiedzi nr 1toList
może zbierać wszystkie elementy Obserwowalnego w List
i emituj to. toList
można zaimplementować za pomocą collect
, ale to znacznie łatwiejsze niż collect
. Dla Twojego przykładu będzie to:
fooContainerObservable
.map(container -> container.getFooList())
.flatMap(foo -> transformFooToFooBar(foo))
.toList()
.subscribe(fooBarList -> /* Display the list */);