【发布时间】:2016-12-06 16:53:33
【问题描述】:
我正在尝试使用 retrofit and rxJava 调用 API。下面的代码在使用RxJava 1 时似乎运行良好,但是一旦我更新到RxJava 2,我就会收到这个错误:
错误:
不存在类型变量 R 的实例,因此 Observable 符合 可观察的
API
Observable<HttpResult<List<Article>>> getList(@Query("key")String key);
Api 请求在这里完成,这就是我在 .map 运算符中得到这个错误的地方
Observable cache=providers.getList().map(new HttpRsltFunc<List<Article>>());
结果类模型:
private class HttpRsltFunc<T> implements Func1<HttpResult<T>, T> {
@Override
public T call(HttpResult<T> httpResult) {
return httpResult.getData();
}
}
编辑:
当导入 rx.Observable 而不是 io.reactivex.Observable 时,代码可以正常工作。
谢谢
【问题讨论】:
-
可以定义为
Observable<List<Article>> cache -
试过了,同样的问题:/
-
感谢您添加编辑。这也解决了我的问题。
标签: java android rx-java retrofit2 rx-java2