android实时更新ui数据,RecyclerView之更新UI数据的高级用法

本文介绍了RecyclerView如何实现比ListView更高级的UI数据更新方式,包括notifyItemChanged、notifyItemInserted、notifyItemRemoved等方法,这些方法带有默认动画效果。通过示例代码演示了添加、删除、移动列表项的实现过程,展示了RecyclerView在数据变更时的灵活性。

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

原创文章,转载请注明 ( 来自:http://blog..net/leejizhou/article/details/51179233 李济洲的博客 )

如果你还不了解RecyclerView如何去使用,可以参考我的前面几篇博文,再看此篇博文:)

RecyclerView的使用(1)之HelloWorld

RecyclerView的使用(2)之多Item布局的加载

RecyclerView的使用(3)之添加Header和Footer

RecyclerView的使用(4)之下拉刷新和上拉加载

以前在使用ListView当中,如果我们的列表数据发生了改变,我们会去调用Adapter.notifyDataSetChanged()去更新UI界面上的列表数据,当然这个方法在RecyclerView也同样适用,那么既然说RecyclerView是ListView最好的替代者,那么RecyclerView有没有什么高级的方法呢?答案是有的。RecyclerView的Adapter支持更多种类的更新UI数据的方法,并且RecyclerView为添加删除移动都做了默认的动画效果。

看一下RecyclerView的Adapter主要增加了哪些方法:

notifyItemChanged(int position) 更新列表position位置上的数据可以调用

notifyItemInserted(int position) 列表position位置添加一条数据时可以调用,伴有动画效果

notifyItemRemoved(int position) 列表position位置移除一条数据时调用,伴有动画效果

notifyItemMoved(int fromPosition, int toPosition) 列表fromPosition位置的数据移到toPosition位置时调用,伴有动画效果

notifyItemRangeChanged(int positionStart, int itemCount) 列表从positionStart位置到itemCount数量的列表项进行数据刷新

notifyItemRangeInserted(int positionStart, int itemCount) 列表从positionStart位置到itemCount数量的列表项批量添加数据时调用,伴有动画效果

notifyItemRangeRemoved(int positionStart, int itemCount) 列表从positionStart位置到itemCount数量的列表项批量删除数据时调用,伴有动画效果

看下本篇博文要实现的DEMO效果

09c885576902c8a36754e9b01bbad88f.gif

可以看到RecyclerView的增删移动操作都自动带有了动画效果,这点靠Adapter.notifyDataSetChanged更新UI数据是做不到的,需要靠RecyclerView的Adapter新增的方法去实现。

下面详细的介绍下实现过程

配置Recyclerview,build.gradle

compile 'com.android.support:recyclerview-v7:23.1.1'

首先是主界面的布局,很简单上面一个Toolbar下面是RecyclerView,res/layout/activity_

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值