简体   繁体   English

无法使用 observable 解析方法 handleResponse

[英]Cannot resolve method handleResponse using observable

I have a function loadProfile()我有一个函数loadProfile()

private void loadProfile() {
        mSubscriptions.add(RetrofitClient.getRetrofit(mToken).getProfile(mEmail)
                .observeOn(AndroidSchedulers.mainThread())
                .subscribeOn(Schedulers.io())
                .subscribe(this::handleResponse,this::handleError));
}

which calls handleResponse它调用handleResponse

private void handleResponse(Response response, User user) {
     //some code
}

And handleResponse is defined in my Api class like this: handleResponse在我的Api类中定义如下:

@GET("Users/{id}")
Observable<retrofit2.Response<User>> getProfile(@Path("id") String id);

And I am getting cannot resolve method handleResponse in loadProfile() I checked parameter types as many similar questions suggest, but can't find the problem.我得到了cannot resolve method handleResponse loadProfile() cannot resolve method handleResponse我检查了许多类似问题所建议的参数类型,但找不到问题。 I hope I provided everything necessary to find the problem.我希望我提供了找到问题所需的一切。

Since your return type is Observable<Response<User>>由于您的返回类型是Observable<Response<User>>

I think your method should be我认为你的方法应该是

    private void handleResponse(Response<User> response) {
        if (response.isSuccessful()) {
            User user = response.body()
        } else {
            // some code
        }
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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