RecyclerView之实现Feed流

版权声明:转载请在开头注明博客原地址,谢谢! https://blog.csdn.net/qq_35928566/article/details/82380736

首先,理一下怎么实现RecyclerView多Item的思路。RecyclerView要绑定一个Adapter和一个布局管理。布局管理规定了RecyclerView的所有Item的排列方式,而Adapter则决定了每一个Item的数据绘制,所以要实现多Item就要从Adapter下手。
1.绑定数据
在Adapter的构造函数中绑定要填充的数据,可以是一类(在这一类中取舍不同的字段来实现多种不同种类的Item),也可以是多类(绑定多个数据来实现不同种类的Item,这个类型一般绑定header和footer或者多类的数据)
2.重写Adapter中的方法

  1. getItemViewType()
  2. getItemCount()
  3. onCreateViewHolder()
  4. onBindViewHolder()

1.通过getItemViewType()来判断不同位置的item类型
2.getItemCount(),这个方法是Adapter判断需要绘制的Item数量
3.onCreateViewHolder(),getItemViewType会返回Item的类型,通过判断viewType来适配不同的layout,这是实现不同种类Item的重要方法
4.onBindViewHolder(),在调用notifyDataSetChange() / notifyItemChanged()后就可以绘制数据
注:onBindViewHolder()方法中还有一个带有List payloads的方法,可以指定payload的值来特定刷新Item的指定控件,而别的控件不会刷新,这样就可以保证刷新的时候避免闪烁。

猜你喜欢

转载自blog.csdn.net/qq_35928566/article/details/82380736
今日推荐