android - CompletableObserver 找不到合适的方法
问题描述
对 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 subscribe(Subscriber T) 中声明的对象
感谢您的任何建议。
解决方案
看起来您的项目中同时拥有 RxJava1 和 RxJava2。一旦进入 API,您在代码中使用Completable
来自 RxJava1 的代码,您尝试使用subscribe(CompletableObserver)
来自 RxJava2 的方法
推荐阅读
- jsp - 类型不匹配:无法从 void 转换为 ArrayList
|| 在 JSP 文件中使用 Arraylist - javascript - Gameloop 没有持续运行以使我的敌人移动
- flutter - 我如何将变量 id 传递到颤振中的另一个页面
- python - 多台服务器的 CPU 利用率报告 - Python
- java - 是否可以将我的 android 应用程序连接到多个 firebasedatabase 项目?
- templates - Velocity Template E. 1.6 中的映射推送条目
- blazor - Blazor,如何触发输入键事件来操作按钮功能?
- javascript - 如何通过单击使铰链动画在图像上工作?
- laravel - 如何使用 Laravel Livewire 拆分组件
- java - 如何用 JSON 文件中的值替换文本文件中的特定键...不替换