【发布时间】:2018-06-12 14:27:36
【问题描述】:
我正在使用下面的代码:
mCompositeDisposable.add(myObservable(IdLang, shortTermCoursesModels)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(new DisposableObserver<String>() {
@Override
public void onComplete() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(String string) {
listenerCoursesListItemService.adapterHideProgress();
}
}));
还有:
private Observable<String> myObservable(String IdLang, List<GetShortTermCoursesModel> shortTermCoursesModels) {
return Observable.defer(new Callable<ObservableSource<? extends String>>() {
@Override
public ObservableSource<? extends String> call() throws Exception {
listenerCoursesListItemService.adapterShowProgress();
for (int i = 0; i < 900000; i++) {
Log.i("WWWWWWWW", "A " + i);
}
return Observable.just("ok");
}
});
但请告诉我以下错误:
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
如何从RxAndroid 访问UI。
我的错误在这里:
listenerCoursesListItemService.adapterShowProgress();
listenerCoursesListItemService.adapterHideProgress();
【问题讨论】:
-
你如何将你的视图请求传递给你的 Observable?您是否使用任何 Android 架构 MVP、MVVM、VIPER?
-
我正在使用 mvp。
标签: android android-layout rx-java rx-android android-mvp