1
。我用这种方式来更新用户界面。如何在Next()之前使用PublishSubject更新UI;首先是
RetrofitHelper.getInstance().getGankDaily()
.getInfo(page)
.subscribeOn(Schedulers.io())
.doOnSubscribe(new Action0() {
@Override
public void call() {
//shwo Progressbar
}
}).subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Action1<Integer>() {
@Override
public void call(Integer integer) {
//hide progressbar
})
现在,我想用在主题UI线程来代替这个code.but我不能show progressbar
。
InfoGet = new Func1<GankType, Observable<Integer,x>() {
@Override
public Observable<x> call(Integer page) {
return RetrofitHelper.getInstance().getGankDaily().
getInfo(page)
.subscribeOn(Schedulers.io());
}
};
subject.flatmap(InfoGet)
//.doOnSubscribe(show progressbar).subscribeOn(AndroidSchedulers.mainThread()
.observeOn(AndroidSchedulers.mainThread())
.share();
public void loadmore(int page){
subject.next(page);
}
result.compose(new HandleErrorTransformer())//handler error
.subscribe(new Action1())//show progressbar
doOnSubscribe
只叫在第一和donext
需要new Action1()
。 所以我不能找到解决这个问题的好方法。 我是rxjava的初学者。