关于RecyclerView不显示数据的一种原因

对于RecyclerView不显示数据网上有很多解释,大体上就是:Adapter没有数据,忘记设置LinearLayoutManager,RecyclerView不显示数据我遇到了另一种原因

一般来说,Adapter只创建一次,调用Adapter的notifyDataSetChanged来达到刷新数据的目的,而Adapter的数据正是初始化的时候作为构造函数的参数传递给Adapter的。因此在程序声明周期里传递给Adapter的数组引用不能被更改,因为一旦更改数组引用变意味着失去了Adapter里面的数据控制权。

正如上面所说,我这里出错的原因正是因为在重构代码的时候,误将数组初始化的代码放到了setData()这个函数中,而在刷新数据前调用了clear()方法清除数据,setData()之后引用指向了新的内存地址,因此在调用notifyDataSetChanged导致了数据为空不显示
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值