显示大量数据集合,提供了更多的灵活性和可定制的布局,实现各种复杂的布局效果和动画效果,适用于各种需要列表或网格显示的Android应用,无论是简单的联系人列表还是复杂的瀑布流布局,甚至是在列表项中嵌入复杂交互,RecyclerView都能胜任。
一、基本概念
- 工作原理:RecyclerView通过回收(recycling)机制来优化性能。当子项滑出屏幕时,其视图并不会被销毁,而是被放入一个缓存队列中,等待被重新使用。当新的子项需要显示时,RecyclerView会从缓存队列中取出之前创建的视图并重新绑定数据,从而避免了不必要的视图创建和销毁操作。
- ViewHolder:ViewHolder是RecyclerView中用于缓存子项视图的类。每个ViewHolder都持有一个子项视图的引用,从而可以在需要时快速访问和复用视图。
- Adapter:Adapter是连接数据源和RecyclerView的桥梁。通过实现Adapter接口,可以将数据源中的数据映射到RecyclerView的子项视图中,并控制子项视图的创建、绑定和回收。
二、RecyclerView xml布局
RecyclerView的xml布局:
在activity_main中布局,代码如下:
数据项布局
自定义显示的数据item项recy_item.xml布局:
三、数据实体类
新建一个类作为RecycleView数据的实体类:
四、适配器Adapter
VH是在RecyvlerAdapter中定义的一个内部类继承RecyclerView.ViewHolder
,通过继承RecyclerView.ViewHolder
,实现了对ItemView中控件的高效管理和复用。在VH内部,利用itemView.findViewById
进行控件的初始化,确保了视图与数据的高效绑定,VH成为了连接数据模型与视图展示的桥梁,使得RecyclerView的列表展示更加流畅和灵活。具体代码: