我在订阅方法中遇到了强制转换问题,我不知道为什么新的观察者会出现这个问题。
Observable<GradeModel> getGrade = retrofit
.create(GradeService.class)
.getGrade()
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.map(model -> {
// transform model
DecimalFormat grades = (DecimalFormat) model.getGrades();
return grades;
})
.subscribe(new Subscriber<DecimalFormat>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
Log.i(TAG, "onError method of observer");
}
@Override
public void onNext(DecimalFormat grades) {
mainPresenter.setListGrades(grades);
}
});
Required: rx.Observable Found: rx.Subscription
最佳答案
直到.subscribe(...)
它是一个Observable
。但是,订阅后它会返回一个 Subscription
实例,可用于取消订阅。
发生异常是因为您将此 Subscription
转换回 Observable
,尽管它们完全不相关。
如果不知道您对该变量的 Intent ,就很难说出正确的代码是什么。
关于java - RxAndroid 改造问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43125455/