效果

分包方式

重要代码
recyclerview嵌套recyclerview
适配器(大的适配器嵌套子适配器)
package com.jia.dividegroups.adapt;

import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;import com.jia.dividegroups.R;
import com.jia.dividegroups.bean.RightBean;import java.util.List;public class RightAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {private Context context;List<RightBean.DataBean> list;public RightAdapter(Context context, List<RightBean.DataBean> list) {this.context = context;this.list = list;
}@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {View view = LayoutInflater.from(context).inflate(R.layout.right_item, viewGroup, false);RightViewHolder rightViewHolder = new RightViewHolder(view);return rightViewHolder;
}@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {RightViewHolder rightViewHolder = (RightViewHolder) viewHolder;rightViewHolder.right_name.setText(list.get(i).getName());List<RightBean.DataBean.ListBean> listBeans = this.list.get(i).getList();RightChildAdapter rightChildAdapter = new RightChildAdapter(context, listBeans);rightViewHolder.child_recycler.setAdapter(rightChildAdapter);rightViewHolder.child_recycler.setLayoutManager(new GridLayoutManager(context,3));
}@Override
public int getItemCount() {return list.size();
}
class RightViewHolder extends RecyclerView.ViewHolder {private final TextView right_name;private final RecyclerView child_recycler;public RightViewHolder(@NonNull View itemView) {super(itemView);right_name = itemView.findViewById(R.id.right_name);child_recycler = itemView.findViewById(R.id.child_recycler);}
}

}
小适配器
package com.jia.dividegroups.adapt;

import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;import com.jia.dividegroups.R;
import com.jia.dividegroups.bean.RightBean;
import com.squareup.picasso.Picasso;import java.util.List;public class RightChildAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {private Context context;List<RightBean.DataBean.ListBean> list;public RightChildAdapter(Context context, List<RightBean.DataBean.ListBean> list) {this.context = context;this.list = list;
}@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {View view = LayoutInflater.from(context).inflate(R.layout.rightinchild_item, viewGroup, false);ChildViewHolder childViewHolder = new ChildViewHolder(view);return childViewHolder;
}@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {ChildViewHolder childViewHolder = (ChildViewHolder) viewHolder;childViewHolder.child_name.setText(list.get(i).getName());Picasso.with(context).load(list.get(i).getIcon()).into(childViewHolder.image_icon);
}@Override
public int getItemCount() {return list.size();
}
class ChildViewHolder extends RecyclerView.ViewHolder {private final ImageView image_icon;private final TextView child_name;public ChildViewHolder(@NonNull View itemView) {super(itemView);image_icon = itemView.findViewById(R.id.image_icon);child_name = itemView.findViewById(R.id.child_name);}
}

}
其他还和以前一样(M层获取数据)
package com.jia.dividegroups.model;

import com.google.gson.Gson;
import com.jia.dividegroups.bean.RightBean;
import com.jia.dividegroups.callback.RightCallBack;
import com.jia.dividegroups.utils.OkHttpUtils;import java.io.IOException;
import java.util.List;import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;public class RightModel {public void right(int cid, final RightCallBack rightCallBack){String url = "http://www.zhaoapi.cn/product/getProductCatagory?cid="+cid;OkHttpUtils.enqueueGet(url, new Callback() {@Overridepublic void onFailure(Call call, IOException e) {}@Overridepublic void onResponse(Call call, Response response) throws IOException {String s = response.body().string();Gson gson = new Gson();RightBean rightBean = gson.fromJson(s, RightBean.class);List<RightBean.DataBean> data = rightBean.getData();if(rightBean.getCode().equals("0")){rightCallBack.onRightCallBackSuccess(data);}else{rightCallBack.onRightCallBackFailure("展示失败");}}});
}

}

OkHttp请求网络
package com.jia.dividegroups.utils;

import java.util.concurrent.TimeUnit;import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.OkHttpClient;
import okhttp3.Request;public class OkHttpUtils {private static OkHttpUtils okHttpUtils = new OkHttpUtils();private static OkHttpClient okHttpClient;private OkHttpUtils(){}
public static OkHttpUtils init(){OkHttpClient.Builder builder = new OkHttpClient.Builder();builder.connectTimeout(3000,TimeUnit.MILLISECONDS);builder.writeTimeout(3000,TimeUnit.MILLISECONDS);builder.readTimeout(3000,TimeUnit.MILLISECONDS);okHttpClient = builder.build();return okHttpUtils;
}
private static Request createRequest(String url,String method){Request.Builder builder = new Request.Builder().url(url);Request request = builder.build();return request;
}
public static void enqueueGet(String url, Callback callback){Request request = createRequest(url,"GET");Call call = okHttpClient.newCall(request);call.enqueue(callback);
}

}

分组(recyclerview嵌套)相关推荐

  1. Android中RecyclerView嵌套RecyclerView或嵌套ListView

    Android中RecyclerView嵌套RecyclerView或嵌套ListView

  2. RecyclerView嵌套TextView时显示文字不全的解决方法之一

    先描述一下这个小bug:简单的TextView嵌套RecyclerView作为itemView时,可能会在文本中出现布局覆盖的现象,itemView的布局其实很简单,就是一个RelativeLayou ...

  3. CSS轮廓 边距 填充 分组和嵌套

    CSS轮廓 围绕一个元素(outline),绘制一条线 p {border: 1px solid red;outline: thick dotted green; } <body>< ...

  4. Recyclerview嵌套Recyclerview,条目显示不全和宽度不能铺满不能同时满足

    参考了: RecyclerView常见问题解决方案,RecyclerView嵌套自动滚动,RecyclerView 高度设置wrap_content 无作用等问题 - 邱石的专栏 - CSDN博客   ...

  5. 你应该看得懂的RecyclerView嵌套

    第一篇博客,也许会写得很粗糙,但我会尽量详细地讲述我将要讲的知识,如有不足之处,请大家留言,我尽力解答. 大家好,我是Chentyit,一个被同学称为用生命在逗比的人,所以,我尽量用轻快的语言来描述接 ...

  6. SwipeRefreshLayout+CoordinatorLayout+AppBarLayout+TabLayout+ViewPager+RecyclerView 嵌套,最后一项显示全

    SwipeRefreshLayout+CoordinatorLayout+AppBarLayout+TabLayout+ViewPager+RecyclerView 嵌套,导致RecyclerView ...

  7. android view嵌套,Android RecyclerView嵌套RecyclerView点击事件

    RecyclerView嵌套RecyclerView点击事件遇到取值错乱的问题 其实问题根本就是咱们没有处理好被嵌套的那层recycleview的position 那么解决思路也很简单,想办法把被嵌套 ...

  8. NestedScrollView + RecyclerView 嵌套产生卡顿处理

    特别说明: 对于NestedScrollView嵌套RecylcerView不建议在数据量很大的情况下使用,因为这种嵌套会导致RecyclerView的item被展开,导致复用失效. 在使用Neste ...

  9. 5.sql2008分组与嵌套

    1.Group by基本介绍; 2.Having的使用; 3.分组综合应用; 4.子查询基本介绍; 5.In/Exists/Any/Some/All; 6.子查询综合应用; 1.Group by基本介 ...

最新文章

  1. 在报No suitable driver found for jdbc:mysql情况下,我是如何一步一步实现jmeter成功连接mysql...
  2. BZOJ 3479: [Usaco2014 Mar]Watering the Fields( MST )
  3. Nginx配置HTTP2.0
  4. PHP 01 Apache HTTP
  5. 我的Go+语言初体验——Go+语言构建神经网络实战手写数字识别
  6. python系列教程_python基础学习系列教程2-进阶之路中绕不开的知识点。
  7. Hibernate简介与运行原理
  8. linux 设备模型详解,Linux2.6 设备模型之input子系统详解
  9. XeThru Sensors SW Module Connector-matlab
  10. OpenGL学习(七)通过assimp库读取多种格式的模型
  11. word2016 页码问题
  12. 2015年App Store审核被拒的23个理由
  13. Packet Tracer – 配置OSPF
  14. apollo新增扩展consul注册中心
  15. PMAC应用一简单介绍
  16. 前后端分离状态保持问题之JWT
  17. 生信识图之 点图进阶-6(UMAP)
  18. 多生产者单消费者捆绑消费问题
  19. 毕设进度跟踪之开题报告
  20. 大学物理——波动光学

热门文章

  1. Spring Boot学习总结(23)——Spring Boot 实践经验总结
  2. Redis学习总结(9)——Redis常见面试题汇总
  3. Linux学习总结(24)——Linux查找文件命令
  4. Mysql学习总结(32)——MySQL分页技术详解
  5. linux /dev/null,Shell中 /dev/null和 /dev/null 21
  6. java分页插件使用_MyBatis-Plus之分页插件使用
  7. c#位数不够0补充完_Java与C#比较,哪个语言更是适合你?
  8. Linux 更改共享内存tmpfs的大小
  9. 干货| PHPCon上TARS-PHP全面解读及PPT下载
  10. Spring(10)——bean作用范围(二)—自定义scope