RxJavaコールチェーンに問題があります。 toListが正しく動作していません。私はtoList()が完了するために何か必要があると思います。そういうわけでそれは止まっている。しかし、私はRxjava tolist()が完了しません
mModel.getLocations()
.flatMapIterable(new Function<List<Location>, List<Location>>(){
@Override
public List<Location> apply(final List<Location> locations) throws Exception {
return locations;
}
})
.filter(new Predicate<Location>() {
@Override
public boolean test(final Location location) throws Exception {
return location.searchExistInNameOrKeyWord(input);
}
})
.toList()
.map(new Function<List<Location>, List<Location>>() {
@Override
public List<Location> apply(List<Location> locations) throws Exception {
/** Doing some random work with the list and then returning */
}
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<List<Location>>() {
@Override
public void accept(final List<Location> locations) throws Exception {
mView.setAdapterItems(locations);
}
});
にこの問題を解決する方法のコードを知らないかもしれないRxJavaで私よりもずっと優れている誰かが私が間違っているのものを特定することができます。
更新
@Query("SELECT * from location")
Flowable<List<Location>> loadAllLocations();
mModel.getLocations()
はちょうど私が前にルームを使用していないが、この記事によると決してしまし
実際、 'mModel.getLocations()'は実際に完了していますか? –
が投稿にさらに詳しい情報を追加しました。それが行う唯一のことは、ストレージからloadAllLocationsを呼び出すことです –