java - RxAndroid 改造问题?

标签 java android casting rx-java rx-android

我在订阅方法中遇到了强制转换问题,我不知道为什么新的观察者会出现这个问题。

 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/

相关文章:

java - 手机sd卡连接电脑看不到文件

java - 错误 : Make sure the Cursor is initialized correctly before accessing data from it?

c++ - 在c++中强制转换是否改变变量,或者只告诉编译器它可以

string - delphi 2009转换为字符串长度2

c++ - 在 C 中类型转换为 unsigned

java - 在maven中创建可执行jar文件, list 中缺少主类

java - validator 中的 JSF 2 消息

android - 使用 sharedUserId 访问另一个应用程序的数据

java - Swing:调用 jLabel.setText 太晚了

java - 读取和写入 DVD/CD - Java