从不同的api调用中加载回收器视图中的每个项目

问题描述 投票:-1回答:3

我有一个帖子请求,给我列出的ID。我必须ping每个id的多个请求以获取项目数据(该特定id的图像,文本等)并填充我的Recycler视图。做这个的最好方式是什么?

android android-recyclerview recycler-adapter
3个回答
0
投票

一旦你得到了id列表,做这样的事情就可以调用API

for(int id : idList){
  getDetailsFromId(id);
}

并从每个id获取响应将它们添加到您的公共列表。假设您在这里使用改造是样品。

   public void getDetailsFromId(int id){
    TaskService taskService = ServiceGenerator.createService(TaskService.class);  
    Call<List<TaskDetails>> call = taskService.getTasks(id);  
    call.enqueue(new Callback<List<TaskDetails>>() {  
    @Override
    public void onResponse(Call<List<TaskDetails>> call, Response<List<TaskDetails>> response) {
        if (response.isSuccessful()) {
            // tasks available add it and notify adapter
            taskDetailsList.addAll(response.body());
            taskDetailsAdapter.notifyDataSetChanged();
        } else {
            // error response, no access to resource?
        }
    }

    @Override
    public void onFailure(Call<List<TaskDetails>> call, Throwable t) {
        // something went completely south (like no internet connection)
        Log.d("Error", t.getMessage());
    }
 }      
}

0
投票

迭代id并在循环中根据id发出请求,你将得到一个响应并添加到数组列表然后传递给适配器。


0
投票

使用Picasso或其他等价物来获取图像和普通网络库,如onBindViewHolder中的改造或排球,但通常api会返回所有其他细节和图像网址,而不仅仅是ID。

© www.soinside.com 2019 - 2024. All rights reserved.