繁体   English   中英

如何“返回”值(清单 <Myobject> )使用RxJava从Api调用到主线程?

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM