CompletableObserver找不到合适的方法

时间:2018-06-20 04:56:33

标签: android retrofit rx-java

对RxJava还是有一些新知识,并尝试实现一种返回Completable的方法:

这是改造类:

@GET
Completable fetchSomething(@Url String url);

这是我调用该方法的地方:

myRetrofit.fetchSomething(url)
    .subscribe(new CompletableObserver() {
        @Override
        public void onSubscribe(Disposable d) {

        }

        @Override
        public void onComplete() {

        }

        @Override
        public void onError(Throwable e) {

        }
    });
}

似乎很简单,但是CompletableObserver的主体无法编译。我收到此错误:

  

错误:找不到适合的订阅方法(匿名CompletableObserver)
  方法Completable.subscribe(Action0)不是   适用
(参数不匹配;匿名CompletableObserver无法   转换为Action0)
方法   Completable.subscribe(CompletableSubscriber)不适用
  (参数不匹配;匿名CompletableObserver不能为   转换为CompletableSubscriber)
方法   Completable.subscribe(Subscriber)不适用
(无法   推断类型变量T
(参数不匹配;匿名   无法将CompletableObserver转换为订户T))
其中T为   类型变量:
T扩展了在方法中声明的对象   T订阅(订阅者T)

谢谢您的建议。

1 个答案:

答案 0 :(得分:1)

看起来您的项目中同时具有RxJava1和RxJava2。进入API后,您将在代码中尝试使用RxJava1中的Completable方法,而您正尝试使用RxJava2中的subscribe(CompletableObserver)方法

相关问题