说明
因为RecyclerView使用灵活方便导致开发中使用越来越频繁,特别是多样式的Item布局使用RecyclerView来显示比起以前使用ScrollView嵌套ListView,GridView要简单灵活多了。通过参考别人对RecyclerView多条目样式封装,也尝试着写了一个关于RecyclerView多样式的Item布局。
先看个效果图:
实现原理
实现原理跟ListView的多样式Item实现有点类似:
1. 通过getItemViewType(position)获取对应position上Model的类型,我们可以把Model抽取一个获取类型的接口;
2. 在onCreateViewHolder(ViewGroup parent, int viewType)中直接把Item的类型作为参数给出来了,我们就可以在这个方法通过viewType参数创建不同类型的RecyclerView.ViewHolder;
3. 然后在onBindViewHolder(BaseViewHolder holder, int position)方法中将数据Model和position绑定到不同的ViewHolder中;
4. 因为onBindViewHolder中把数据放到Model对应的ViewHolder里面去绑定,所以我在这里定义BaseViewHolder接口,绑定不同
RecyclerView多样式Item布局设计
最新推荐文章于 2024-02-21 17:55:56 发布