java - 将参数发送到订阅 CompositeDisposable 的方法 - Android?

标签 java android retrofit rx-java rx-android

我正在使用 rx用于连接到 serviceretrofit , 下面是 RetrofitApi.java :

public class RetrofitApi {
    private static PublicApi retrofit = null;

    public static PublicApi getClient(String url) {
        retrofit = new Retrofit.Builder()
                .baseUrl(url)
                .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                .addConverterFactory(GsonConverterFactory.create())
                .build().create(PublicApi.class);
        return retrofit;
    }
}

这里是 PublicApi.java :

public interface PublicApi {
    @GET("/web_service/mobile/rest")
    Observable<LastNews> lastNews(@Query("function") String function);
}

下面我正在连接到我的服务:

@Override
public void fetchLastNewsStartPage(RemoteDataSource.ResultListener<List<LastNews>> resultListener) {
    PublicApi publicApi = RetrofitApi.getClient("https://xxx.xxx.xxx/web_service/");
    CompositeDisposable mCompositeDisposable = new CompositeDisposable();
    mCompositeDisposable.add(publicApi.lastNews("getLastNews")
            .observeOn(AndroidSchedulers.mainThread())
            .subscribeOn(Schedulers.io())
            .subscribe(this::handleResponse, this::handleError));
}

我的问题就在这里,如何将参数发送到handleResponsehandleError .我需要发送这个 RemoteDataSource.ResultListener<List<LastNews>> resultListenerhandleResponsehandleError :

private void handleResponse(LastNews lastNewses) {

}


private void handleError(Throwable error) {

}

最佳答案

只是不要使用方法引用,因为它只能接受一个参数。您可以使用 lambda 表达式实现结果。而不是

this::handleResponse

lastNews -> handleResponse(lastNews, resultListener)

关于java - 将参数发送到订阅 CompositeDisposable 的方法 - Android?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45056458/

相关文章:

android - 使用 RxAndroid,从网络接收数据后,我应该在哪里(用哪种方法)调用数据库中的数据插入部分?

java - 使用 Retrofit 解析要映射的 JSON 标记名称和值

java - 如何从java中的时区ID获取国家代码?

java - 如何将自定义 View 膨胀为本身?

java - 固定对象溢出异常?

android - LiveData 与 StateFlow : Should we switch from Live data to State Flow?

java - 如何使用 RecyclerView 显示空 View ?

android - 通过 ADB 以 root 身份启动脚本

java - 如何在 Eclipse Mars 中从 Git 更新项目

Android Retrotfit 在接收后修改对象的字段