android中RecyclerView嵌套RecyclerView中,如何为内层RecyclerView设值的问题

RecyclerView嵌套RecyclerView问题在android应用中是很常见的,也是很重要的,话不多说,直接进去主题。

一.效果图

在这里插入图片描述

二. xml文件

1.activity页面 (activity_good_evaluation.xml)
在这里插入图片描述
2.外层item页面 (good_eval_item.xml)
在这里插入图片描述
3内层item页面 (eval_image_item.xml)
在这里插入图片描述

三.创建Adapter文件

因为这里是两层嵌套,所以要创建两个

1.内层Adapter (EvalImageAdapter)

在这里插入图片描述

2.外层Adapter (GoodEvaluationAdapter)

重要的逻辑都是在外层Adapter里实现的,因为内容比较多,我就把重要的截下,代码如下:
在这里插入图片描述
在这里插入图片描述
完成上面的步骤,内层RecyclerView就有值显示啦,接下啦就是在主页面中如何给外层RecyclerView设值

四,使用

1.新建一个数组,并在oncreate中初始化

 private List<Map<String,Object>> comment_list=null;

2.创建适配器,在onCreate时调用

    private void createAdapter() {
        linearLayoutManager = new LinearLayoutManager(getApplicationContext());
        linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
        good_eval_rv.setLayoutManager(linearLayoutManager);
        goodEvaluationAdapter = new GoodEvaluationAdapter(getApplicationContext());
        good_eval_rv.setAdapter(goodEvaluationAdapter);
    }

3.获取到后台数据,并为Adapter设置数据,并刷新

   Map<String,Object> outMap = new HashMap<>();
   List<Map<String,Object>> evalImageList=new ArrayList<>();
    for(int j=0;j<imageList.length();j++){
           JSONObject imageItem = imageList.getJSONObject(j);
           Map<String,Object> imageMap = new HashMap();
           String url =  Helper.fixImgUrl(imageItem.getString("url"));
           imageMap.put("url",url);
           evalImageList.add(imageMap);
     }
   outMap.put("head_img",imgUrl);
   outMap.put("user_name",item.getString("user_name"));
   outMap.put("eval_star",score);
   outMap.put("comment_time",comment_time);
   outMap.put("eval_specs"," || 规格:"+specs[0]+","+specs[1]);
   outMap.put("eval_content",content);
   outMap.put("evalImageList",evalImageList);
   comment_list.add(outMap);
 //set数据,并刷新
   goodEvaluationAdapter.setData(comment_list);
   goodEvaluationAdapter.notifyDataSetChanged();
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值