RecyclerView类是ViewGroup的子类,每一个列表项都是作为一个View子对象显示的。
要想利用RecyclerView类来对屏幕中的列表进行显示,还必须要用Adapter子类和ViewHolder子类。
其中:
1. RecyclerView:负责定位和回收屏幕中的子对象
2. ViewHolder:负责容纳View视图。也就是RecyclerView中填充的视图是由ViewHolder提供的。
3. Adapter:负责创建ViewHolder,并填充ViewHolder中的数据(把模型层数据绑定进入ViewHolder)。实质上是一个控制器。
Adapter的常用的函数:
onCreateViewHolder()
onBindViewHolder()
getItemCount()
调用流程:
当RecyclerView需要显示视图的时候,首先找Adapter,调用它的getItemCount()函数,询问数组列表中一共有多少个对象需要显示。
然后继续调用onCreateViewHolder()函数,创建相应的ViewHolder对象和ViewHolder需要显示的视图。
接着调用onBindViewHolder(),得到对应的ViewHolder和位置,这时候Adapter会找到目标位置的数据,并绑定到ViewHolder视图上,也就是说用模型层的数据对ViewHolder进行填充。
这样就可以了。