使用recyclerview 遇到的坑

本文探讨了在项目中遇到的RecyclerView嵌套问题,包括数据刷新错乱、内部RecyclerView不可点击及数据无法更新等,并提供了详细的解决方案。文章强调了数据刷新时需确保使用同一数据引用的重要性,以及如何通过事件传递解决内部RecyclerView的点击问题。

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

最近做项目遇到了一些关于recyclerview问题,为了避免再次踩坑在这记下自己问题。

1.recyclerview嵌套导致数据刷新错乱和内部ecyclerview不能点击,数据不能刷新

解决方案:

1.内部ecyclerview不能点击问题

可以对内部嵌套ecyclerview设置onTouchEvent事件,然后不处理事件直接调用父类的onclik事件

2.recyclerview数据刷新不起作用。

当数据添加后调用adapter.notifyDataSetChanged(); 后数据没有改变,贴上部分代码adapter中数据(list)

设置list

获取数据

改变后调用notifyDataSetChanged回去刷新整个界面不起作用,后面发现我在项目中数据没有刷新是因为我每次去调用数据库数据时会去新建一个list,所以相当于调用notifyDataSetChanged前后的list数据根本不是一个数据引用,,所以调用notifyDataSetChanged没有反应,因为adapter刷新数据要对应同一个对象也就是一个地址。一般数据不是整个界面刷新,我们可以对数据进行局部刷新,如果对整个界面进行刷新会出新界面闪问题,这个是因为动画原因。

3.嵌套引起的数据错乱

一般我们不必使用嵌套时候我们可以直接使用其他方式去加载数据,因为数据嵌套会影响性能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值