RecyclerView 中EditText 数据刷新后造成数据错乱解决

在很久之前帮别人解决过一个列表中item有EditText,因为其他操作刷新了Adapter,造成了EditText中数据发生了错乱,当时怎么写的已经忘记了。不过现在又碰到了这个问题,就把它记录下来。


其实这个问题解决办法不止一种:

1、比较暴力的解决办法,就是不让RecycleView进行复用

取消RecyclerView复用

 比较简单就是在onBindViewHolder()中holder.setIsRecyclable(false);这种做法在数据量比较少的情况下可以使用,在数据量大了那就呵呵了....

当然了如果数据量不大可以采用这个办法。

2、这一种就比较优雅了,先把重要代码贴出来

这个做法实际上就在onBindViewHolder()中判断EditText是否获取了焦点,只有在获取焦点了在进行内容的改变。

最好是在item布局中EditText的父级控件中找一个,设置成

android:focusable="true"

android:focusableInTouchMode="true"

确保在开始的时候EditText就不获取焦点。

内容比较简单,希望对您有所帮助!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容