【Android】RecyclerView和ListView的区别

本文对ListView和RecyclerView进行了对比。ListView不强制用ViewHolder,只能垂直滑动,有默认Adapter,有子Item监听函数,无缓存机制,可在布局文件添加分割行;RecyclerView必须用ViewHolder,支持多方式滑动,Adapter需自己实现,子Item点击事件扩展性好,有五级缓存机制,有处理动画效果的ItemAnimator。

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

1、
ListView:并不强制使用ViewHolder,如果要使用,则需要自己定义,如果不使用,ListView每次getView()的时候都需要去findViewById,会造成性能下降,滑动卡顿等,所以推荐使用ViewHolder。
RecyclerView:必须使用ViewHolder。

2、
ListView:只能在垂直方向滑动。
RecyclerView:支持水平方向滑动,垂直方向滑动,多行多列瀑布流的方式等。
3、
ListView:有几个默认的Adapter,分别是ArrayAdapter、CursorAdapter和SimpleCursorAdapter。
RecyclerView:Adapter需要自己实现。
4、
ListView:拥有子Item的监听函数:AdapterView.OnItemClickListener。
RecyclerView:需要自己实现接口,来实现子Item的点击事件,虽然比较麻烦,但是扩展性好。
5、
两者均会复用item,但RecyclerView提供了额外的缓存机制,大体分五级缓存,ListView无缓存机制。

两者各自独有的特性:
ListView:可以在布局文件里通过以下代码直接添加分割行。

  android:divider="@android:color/transparent"
  android:dividerHeight="5dp"

RecyclerView:RecyclerView.ItemAnimator被提供用于在RecyclerView添加、删除或移动item时处理动画效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值