RecycleView的notifyItemRemoved使用注意
转载请标明出处,维权必究:https://www.cnblogs.com/tangZH/p/10116095.html
我们为了移除RecycleView的某一项,会用RecycleView的notifyItemRemoved(int position)方法,但是需要注意的是:
1、用该方法之后并不会刷新Item,也就是说不会重新bind数据,那么position也就没有刷新,每个Item对应的position还是原来的那个,那就会有问题,比如现在只剩下3个Item,而我们点击删除最后一个Item的时候,它的position是原来的position4,那么实际上就是调用RecycleView的notifyItemRemoved(4),就会出现越界。
那我们该怎么做呢?
1、删除之后重新:notifyDataSetChanged();,但是这样就没有删除动画。
2、使用notifyItemRangeChanged(int positionStart, int itemCount)
notifyItemRangeChanged(position, itemCount, null)
等价
positionStart : 是从界面哪个位置的Item开始变化,比如你点击界面上的第二个ItemView positionStart是1
itemCount : 是已经发生变化的item的个数(包括自己,即正在点击这个),比如,你点击界面上的第二个ItemView,position [1,9] 发生变化,共计9个,因此我们计算是list.size() - position
转载于:https://www.cnblogs.com/tangZH/p/10116095.html
RecycleView的notifyItemRemoved使用注意相关推荐
- RecycleView Layout 详解
前提 我们以RecycleView 的宽高都是Match_Parent作为前提去分析,这样onMeasure方法就不会调用dispatchStep1.dispatchStep2.我们只看onLayou ...
- RecycleView 缓存原理解析
前言 下面让我们剖析一下RecycleView 缓存原理. RecycleView 缓存类型 缓存容器 需要创建布局 需要重新绑定 存入时机 取出时机 mAttachedScrap 否 否 Recyc ...
- 循环视图——RecycleView
RecycleView的常用方法 setAdapter 设置列表的适配器,适配器采用 RecycleView.Adapter; setLayoutManager 设置列表的的布局管理器,包括线性布 ...
- listview 和RecycleView区别
RecyclerView和ListView之间的区别 在我们要搞清楚一个问题之前,首先要搞清楚为什么,是什么, 最后才能得出结论 一:为什么会出现recycleView RecyclerView并不会 ...
- RecycleView 二级列表(多级列表)
RecycleView实现二级列表(可以实现多级列表) RecyclerView做的二级列表比官方的ExpandableListView二级列表效率高一些貌似 1.自己的Adapter继承Recycl ...
- 【转载】RecycleView使用详解
原文链接:https://blog.csdn.net/u012721519/article/details/54692366 一.RecycleView简要介绍 RecycleView是support ...
- 3.2.1 一篇文章完全掌握 RecycleView 的六大用法
点此进入:从零快速构建APP系列目录导图 点此进入:UI编程系列目录导图 点此进入:四大组件系列目录导图 点此进入:数据网络和线程系列目录导图 一.RecycleView 简介 (1)RecycleV ...
- RecycleView小结
RecycleView是Android 5.0,推出的一款替代Listview GridView的控件 A flexible view for providing a limited window ...
- RecycleView相关面试题
讲一下RecyclerView的缓存机制,滑动10个,再滑回去,会有几个执行onBindView.缓存的是什么?cachedView会执行onBindView吗? RecyclerView预取机制 如 ...
最新文章
- 计算体系结构的演进规律
- 成为优秀程序员应该具备的8个特质
- 数据导入导出、备份恢复
- 如何“暴力破解”Oracle性能优化的极端问题(附精彩案例解读)
- python设计模式(二十二):策略模式
- Android中JNI编程出现“Invalid arguments ' Candidates are: void * malloc(?) '”的解决方案
- 删除mysql数据库_安装/删除MySQL数据库
- 打印显示服务器存储空间不足,服务器存储空间不足,无法处理此命令。 ID 2019 或 2020...
- echarts官网文档打开慢的解决方法
- 【Unity3D插件】DoTween插件(三)
- 工业相机基本参数以及选型参考(二)
- 计算机怎么复制公式,excel怎么复制公式 -电脑资料
- stm32智能小车设计(1)——硬件选型思路
- Redis 从入门到弃坑
- 解决winscp只能下载,无法上传的问题
- 在计算机时代初期,程序员是如何编程的?
- C语言:company
- [Android/安卓]Google登录接口之Api接入
- 以quot;小刀会“的成败论当今创业成败
- java-php-python-ssm-网络学习平台-计算机毕业设计
热门文章
- 设计模式之代理模式(Proxy Pattern)
- python 之路,Day11 (下)- sqlalchemy ORM
- Linux 终端命令行提示符的艺术--PS1进阶
- 最经典的计算机网络新书推荐--计算机网络(第5版)Tanenbaum著中文版上市
- 考察新人的两道c语言题目
- asp.net 入门的五个步骤
- 使请求管线内的所有模块尽可能高效
- python3编写简易统计服务器
- 海思3559A上编译FFmpeg源码操作步骤
- CUDA Samples: image normalize(mean/standard deviation)