RecyclerView关于notifyItemRemoved的那点小事
发布日期:2021-11-12 07:57:39
浏览次数:28
分类:技术文章
本文共 501 字,大约阅读时间需要 1 分钟。
原文地址:https://www.2cto.com/kf/201608/534945.html
当我们需要remove掉一条数据(位置在position)时,想要使用RecyclerView的动态效果,就需要调用notifyItemRemoved。但是该方法不会使position及其之后位置的vitemiew重新onBindViewHolder。所以不当使用会导致下标错乱,各种坑爹的bug就来了。
弥补上面的问题,你还需要调用 notifyItenRangeChanged方法,使下面的itemview重新onBind,就可以了。如下解决:
1 2 3 4 5 6 7 8 | public void remove( int position) { mDataList.remove(position); notifyItemRemoved(position); if (position != mDataList.size()){ // 如果移除的是最后一个,忽略 notifyItemRangeChanged(position, mDataList.size() - position); } } |
转载地址:https://blog.csdn.net/happy_love1990/article/details/78317304 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月03日 09时08分49秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
C++_类和对象_对象特性_构造函数的分类以及调用---C++语言工作笔记041
2019-04-26
C++_类和对象_对象特性_拷贝构造函数调用时机---C++语言工作笔记042
2019-04-26
C++_类和对象_对象特性_构造函数调用规则---C++语言工作笔记043
2019-04-26
C++_类和对象_对象特性_深拷贝与浅拷贝---C++语言工作笔记044
2019-04-26
AndroidStudio_android中实现对properties文件的读写操作_不把properties文件放在assets文件夹中_支持读写---Android原生开发工作笔记238
2019-04-26
弹框没反应使用Looper解决_the caller should invoke Looper.prepare() and Looper.loop()---Android原生开发工作笔记239
2019-04-26
Command line is too long. Shorten command line for Application---微服务升级_SpringCloud Alibaba工作笔记0067
2019-04-26
C++_类和对象_对象特性_初始化列表---C++语言工作笔记045
2019-04-26
kivy制作安卓APP--简单音乐播放器
2019-04-26
Angular2工程部署到Tomcat服务器,第一次访问正常,刷新浏览器后报404错误
2019-04-26
【力扣】155. 最小栈
2019-04-26