重复搜索导致新的RecycleView数据项接在旧的RecycleView数据项后面

在实现搜索功能时,遇到RecycleView在重复搜索时新数据未替换旧数据,而是添加到后面。尝试了清除RecycleView缓存的方法如removeAllViews(),clearRecycledViewPool()等无效。最终发现解决方案是确保在每次搜索后正确清空并刷新列表数据。

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

重复搜索导致新的RecycleView数据项接在旧的RecycleView数据项后面

在搜索场景中,重复的搜索是一个常见的用户操作,新的搜索操作应该显示新的的数据集,但是最近写这个场景的时候,每次重复的搜索,新的RecycleView数据项接在旧的RecycleView数据项后面,在网上找了很多例子,都是说RecycleView本身的缓存性,要去把RecycleView本身去清空缓存。

但是试了很多方法, 比如这样的

mRecyclerView.removeAllViews();
recyclerView.getRecycledViewPool().clear();
recyclerView.setRecycledViewPool(new RecyclerView.RecycledViewPool());

这些都是基于RecycleView本身去清空缓存,但是我用了起不到任何作用。

最后发现是List每一次刷新 clear就好了

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值