只会走到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执行后,, 返回的东西 看看
是不是里面没数据
是不是里面没数据