[英]how to “return” value(List<Myobject>) from Api call to main thread using RxJava?
这是我的ApiService接口:
@GET("dianosticos")
Observable<List<Diagnostico>> getDiagnosticos(@Query("nombre") String patron);
这是我的ApiUtil
RxJava2CallAdapterFactory rxAdapter = RxJava2CallAdapterFactory.create();
retrofit = new Retrofit.Builder()
.baseUrl(baseUrl)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(rxAdapter)
.build();
这是我的尝试:
public List<Diagnostico> getDiagnoticos(String patron){
APIService api= ApiUtils.getAPIServiceDos();
api.getDiagnosticos(patron).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<List<Diagnostico>>() {
// from here all this methods are underlined as error
@Override
public void onSubscribe(Subscription s) {
}
@Override
public void onNext(List<Diagnostico> diagnosticos) {
}
@Override
public void onError(Throwable t) {
}
@Override
public void onComplete() {
}
// up to here all underlined
})
}
我需要列表并将其放入例如用于适配器或以其他方法求和,因此我需要将列表返回到主线程..我的代码可以吗? 还是我应该以不同的方式做。 请告诉我如何返回此列表。 提前致谢
在RxJava 2中, Observable
类的“订阅者”是Observer
。 这是因为适用于Flowable
对象的Reactive Streams标准使用了Subscriber
接口。
这意味着您应该用Observable
类之一替换Subscriber
对象。 建议使用DisposableObserver
,因为它可以处理基本的Subscription
和协议要求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.