具有2 webService的Android RecyclerView首先加载文本,然后加载图像

时间:2018-08-01 08:19:16

标签: java android android-recyclerview retrofit

大家好,我有一个RecyclerView和2个Web服务,第一个服务返回的是我的文本,第二个服务返回的是我的图像byte [],我想首先加载内容,第二个服务完成后,第二个服务将图像加载到同一Recyclerview  我不知道何时以及如何调用第二服务来加载图像。

这是我第一次获取文本内容:

   ApiInterface apiInterface = Api.getClient().create(ApiInterface.class);

    final Request request = new Request();
    Parameter parameter = new Parameter();
    Parameter parameter1 = new Parameter();
    Parameter parameter2 = new Parameter();

    parameter.setName("Par_userName");
    parameter.setValue(username);

    parameter1.setName("minRow");
    parameter1.setValue(minRow);

    parameter2.setName("maxRow");
    parameter2.setValue(maxRow);

    parameters.add(parameter);
    parameters.add(parameter1);
    parameters.add(parameter2);


    request.setIp("::1");
    request.setTitle("GetUserUnreadPostCount");
    request.setParameters(parameters);


    Call<ViewModelChannels> call = apiInterface.getChannels(header, request);

    call.enqueue(new Callback<ViewModelChannels>() {
        @Override
        public void onResponse(@NonNull Call<ViewModelChannels> call, @NonNull Response<ViewModelChannels> response) {

            Log.i("responseCode", String.valueOf(response.code()));

            switch (response.code()) {


                case 200:

                    Gson gson = new Gson();
                    TypeToken<List<Result>> token = new TypeToken<List<Result>>(){};
                    list = gson.fromJson(response.body().getResult(), token.getType());
                    presenterMainInterface.onSucceedChannels();

                    Log.wtf("response", String.valueOf(response.body()));

                    break;


                case 401:
                    presenterMainInterface.onFailedChannels(response.code(), response.message());
                    break;

                case 500:
                    presenterMainInterface.onFailedChannels(response.code(), response.message());
                    break;

            }

        }

        @Override
        public void onFailure(@NonNull Call<ViewModelChannels> call, @NonNull Throwable t) {

            presenterMainInterface.onFailedChannels(1000, t.getMessage());

        }
    });

0 个答案:

没有答案