只会走到log的333333333这边,然后通过tolist转成list<String>形式,就不往下走了,假如去掉tolist,可以执行subscribe.
只是本人需要先将数据转成需要的List集合,再执行subscribe
只是本人需要先将数据转成需要的List集合,再执行subscribe
mModel.getAllSearchHistoryCache().filter(new Func1<RealmResults<SearchHistoryBean>, Boolean>() {
@Override
public Boolean call(RealmResults<SearchHistoryBean> searchHistoryBeen) {
Logger.e("111111111");
return searchHistoryBeen.isLoaded();
}
}).flatMap(new Func1<RealmResults<SearchHistoryBean>, Observable<SearchHistoryBean>>() {
@Override
public Observable<SearchHistoryBean> call(RealmResults<SearchHistoryBean> searchHistoryBeen) {
Logger.e("2222222222");
return Observable.from(searchHistoryBeen);
}
}).map(new Func1<SearchHistoryBean, String>() {
@Override
public String call(SearchHistoryBean searchHistoryBean) {
Logger.e("3333333333");
return searchHistoryBean.getKeyWord();
}
}).toList().observeOn(AndroidSchedulers.mainThread()).subscribe(new Subscriber<List<String>>() {
@Override
public void onCompleted() {
Logger.e("onCompleted");
}
@Override
public void onError(Throwable e) {
Logger.e("onError");
}
@Override
public void onNext(List<String> strings) {
Logger.e("strings:"+strings);
mView.showSearchHistoryList(strings);
}
});
解决方案
20
也没报错咯
那么 不执行么 只能说明 toList 出来的 里面的 元素 是0个
那么 不执行么 只能说明 toList 出来的 里面的 元素 是0个
10
你 tolist 后 mModel 变成 list 了 所以就不能执行 observeOn 了。
10
.toList执行后,, 返回的东西 看看
是不是里面没数据
是不是里面没数据