所以我有下面的disposable无效.我正在使用Room从表中获取所有行作为列表,将它们分别映射到某个东西并创建一个列表,然后它不会从那里继续.
storedSuggestionDao .getSuggestionsOrderByType() //Flowable .doOnNext(storedSuggestions -> Timber.e("storedSuggestions: " + storedSuggestions)) //this work .flatMAPIterable(storedSuggestions -> storedSuggestions) .map(Selection::create) )) .doOnNext(selection -> Timber.e("Selection: " + selection)) // works .toList() .toObservable() // nothing works after this... .doOnNext(selections -> Timber.d("selections: " + selections)) .map(SuggestionUiModel::create) .doOnNext(suggestionUiModel -> Timber.d("suggestionUiModel: " + suggestionUiModel)) .subscribe();
解决方法:
来自第三方的这些类型的数据源通常是无限来源,但是toList()需要有限来源.我猜您想处理该storedSuggestions的集合并将其保持在一起.您可以通过内部转换来实现:
storedSuggestionDao.getSuggestionsOrderByType() //Flowable.doOnNext(storedSuggestions -> Timber.e("storedSuggestions: " + storedSuggestions)) //this work// -------------------------------------.flatMapSingle(storedSuggestions -> Flowable.fromIterable(storedSuggestions) .map(Selection::create) .doOnNext(selection -> Timber.e("Selection: " + selection)) .toList())// -------------------------------------.doOnNext(selections -> Timber.d("selections: " + selections)).map(SuggestionUiModel::create).doOnNext(suggestionUiModel -> Timber.d("suggestionUiModel: " + suggestionUiModel)).subscribe();
总结 以上是内存溢出为你收集整理的android-RxJava2 toList()从不发出全部内容,希望文章能够帮你解决android-RxJava2 toList()从不发出所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)