博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RecyclerView 加载多种Item布局
阅读量:5998 次
发布时间:2019-06-20

本文共 2042 字,大约阅读时间需要 6 分钟。

hot3.png

需要在Adapter适配器中设置

使用getItemViewType()方法设置根据不同ID来判断设置布局

public class Adapter extends RecyclerView.Adapter
{ private Context context; private List
list; public Adapter(Context context, List
list) { this.context = context; this.list = list; } /** * recyclerView 加载多布局方法步骤 * 1. 建两个不同的布局 * 2. 思路:要提供一个不同的标准,标注 程序选择不同的布局 */ @Override public int getItemViewType(int position) { return list.get(position).getName().contains("2")==true?0:1; } /** * 实例化一个布局 * @param parent * @param viewType <----getItemviewType * @return */ @Override public Adapter.MyHolder onCreateViewHolder(ViewGroup parent, int viewType) { MyHolder myHolder = null; switch (viewType){ case 0: View inflate = LayoutInflater.from(context).inflate(R.layout.layout, null); myHolder = new MyHolder(inflate); break; case 1: View inflate1 = LayoutInflater.from(context).inflate(R.layout.layout1, null); myHolder = new MyHolder(inflate1); break; } return myHolder; } @Override public void onBindViewHolder(Adapter.MyHolder holder, int position) { holder.img.setImageResource(list.get(position).getImg()); holder.name.setText(list.get(position).getName()); holder.text.setText(list.get(position).getText()); } @Override public int getItemCount() { return list.size(); } /** * 各种布局,进行重用的view */ public class MyHolder extends RecyclerView.ViewHolder { private final ImageView img; private final TextView name; private final TextView text; public MyHolder(View itemView) { super(itemView); img = itemView.findViewById(R.id.img); name = itemView.findViewById(R.id.name); text = itemView.findViewById(R.id.text); } }}

转载于:https://my.oschina.net/u/3698786/blog/1558855

你可能感兴趣的文章
FortiGate防火墙内存使用率高问题
查看>>
rgb(123,25,62)拆分
查看>>
查看端口被占用
查看>>
前端图片预览
查看>>
hdu-1251
查看>>
查看nvidia显卡命令
查看>>
设计模式 之 《原型模式》
查看>>
了解MOSS2007 内容类型ID(Content Type IDs)命名规则
查看>>
windows键的妙用
查看>>
分成互质组
查看>>
Four-Operations
查看>>
C#获取本机和其它计算机物理网卡地址(MAC)
查看>>
【翻译】ZFS - Ondiskformat 第一章 虚拟设备(vdevs),Vdev Label以及Boot Block
查看>>
vue开发的项目中遇到的警告,报错,配置项目文件等合集(长期更新)
查看>>
一、JVM内存1(jvm运行时内存划分)
查看>>
Java第五次实训作业
查看>>
JAVA 消耗 CPU过高排查方法
查看>>
BBS第一天
查看>>
网络知识汇总(1)-朗文和牛津英语词典网址
查看>>
配置Tomcat的访问日志格式化输出
查看>>