1)私は(メソッド観察可能> moviesWithoutGenresを持っている)の下にあるためSQLBriteの)ToListメソッドを(使用せずに2つの観測を組み合わせます指定されたフィールドのジャンルのリストを返すムービー(ムービーm)映画のリストを返しますが、映画のジャンルフィールドが</p> <p>2)私が持っているメソッド観察可能> movieGenres nullのフード
「Observable>を返すメソッドを実装する必要があります。リスト内の各ムービーにはジャンルのリストがあります。
私はこのようなストリームを実装しましたが、私の解決策はObservable.from()を使用してObservableに変換し、toList()演算子を使用してObservableに変換することです。このソリューションは、最初のメソッドのフードの下で、リアクティブSQLクエリに対してSQLBriteラッパーを使用しているため、受け入れられません。ストリームは常に開いたままであるため、SQLテーブルへの変更をすべてのサブスクライバに伝播できるため、onCompletedは呼び出されません。したがって、toList演算子は実行できません。
public class Movie {
private String id;
private String title;
private List<String> genres;
...
}
1)Observable<List<Movie>> moviesWithoutGenres();
2)Observable<List<String>> movieGenres(Movie m);
が実施されるべきである:
Observable<List<Movie>> movies();
ありがとうございました。このソリューションは、 "Observable.from(movies)"という行に多数の映画があるにもかかわらず、1つの映画のリストを提供します。この問題の原因は何であるかわかりません。 –
"switchMap()"の代わりに "concatMap()"を使用してこの問題を解決しました。あなたは答えを更新できますか? –
ああ、電話してください。かわった! – Anstrong