知识总结------RecyclerView

本文详细介绍了Android中的RecyclerView,包括其与ListView的区别、优点。RecyclerView提供了多种布局管理器,如LinearLayoutManager、GridLayoutManager和StaggeredGridLayoutManager。与ListView相比,RecyclerView自动实现了视图复用,支持局部刷新和各种动画效果,性能更优,尤其在频繁刷新和添加动画场景下。此外,RecyclerView支持插件式功能模块,便于实现如增删Item动画和侧滑功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RecyclerView的使用:

1、在Activity中获取RecyclerView,并设置LayoutManager以及Adapter

 

这里LayoutManager是RecyclerView的布局管理器,用以实现Item不同布局排列方式,RecyclerView必须调用setLayoutManager设置布局管理器。RecyclerView中默认带有三个布局管理器:LinearLayoutManager、GridLayoutManager、StaggeredGridLayoutManager,这三种布局管理器都支持横向、纵向以及反向滑动

2Adapter的创建:继承自RecyclerView.Adapter,实现其中的三个方法

 

扩展:

1、可以实现多种Item的方法

1)通过onCreateViewHolder方法加载不同的布局,这里的getItemViewType方法就是为了获取Item的Type种类,该方法的返回值就是onCreateViewHolder()方法中viewType的参数值,如果只有一个item类型的话,也就是不使用多item的时候,这个值可以设为null。

2)然后在onBindViewHolder()中调用该方法判断具体要实现哪种Item布局

 

3)通过onCreateViewHolder方法加载不同的布局,这里的viewType就是上面的getItemViewType方法返回的值

 

2、如果需要点击响应可以设置item的点击事件

在RecyclerView当中,并没有如同ListView那样并直接提供类似setOnItemClickListener( )和setOnItemLongClickListener ( )的方法。如果要实现Item的点击事件,我们可以自己去实现。

这里给出两种方法:

  •  Adapter里面直接对控件做点击事件
  •  写接口,在ActivityFragment上实现接口中定义的方法

方法一、

 

3RecyclerView的三种布局管理器:

RecyclerView通过setLayoutManager设置不同的布局管理器,Item就会按照设置的布局管理器的排列方式来排列。如果不调用setLayoutManager来设置布局管理器就会导致RecyclerView不知道它的Item如何布局,界面上就会一片空白。RecyclerView自身带有三种默认的布局管理器:LinearLayoutManagerGridLayoutManager网格布局管理器StaggeredGridLayoutManager瀑布流布局管理器

 

在使用RecyclerView时候,必须指定一个适配器Adapter和一个布局管理器LayoutManager。适配器继承RecyclerView.Adapter类,具体实现类似ListView的适配器,取决于数据信息以及展示的UI。布局管理器用于确定RecyclerView中Item的展示方式以及决定何时复用已经不可见的Item,避免重复创建以及执行高成本的findViewById()方法。

6.1.RecyclerView和ListView的区别(这个是必问的)

1.RecyclerView可以完成ListView,GridView的效果,还可以完成瀑布流的效果。同时还可以设置列表的滚动方向(垂直或者水平);

2.RecyclerView中view的复用不需要开发者自己写代码,系统已经帮封装完成了, 也就是说RecyclerView标准化了ViewHolder编写Adapter面向的是ViewHolder而不再是View了 直接省去了listview中convertView.setTag(holder)和convertView.getTag()这些繁琐的步骤。

3.RecyclerView可以进行局部刷新。

4.RecyclerView提供了API来实现item的动画效果。

5.在性能上:

如果需要频繁的刷新数据,需要添加动画,则RecyclerView有较大的优势。

如果只是作为列表展示,则两者区别并不是很大。

6.3. RecyclerView相比ListView的优点

a.封装了ViewHodler,效率更高
    b.可以添加增删Item动画、侧滑功能等
    c.支持局部更新,可见才更新,不可见不更新
    d.插件式实现,各个功能模块化,解耦性强,使用起来更方便

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值