[英]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.