kotlin adapter赋值失效
起因是有个bug,说列表数据不显示了,当时看现象直接蒙圈,因为没有改业务逻辑.
问题发生的代码类似如下:
private val adapter by lazy {MyAdapter()}with(binding.rvContent){adapter = adapter}
乍一看,看起来没有什么问题
但是我们跑起来过后发现日志报错RecyclerView的adapter并没有赋值,感觉不对劲,再看一眼(其实看了很多眼),最后发现是adapter = adapter这行代码出现了问题,他并不是我们声明的MyAdapter,而是自己给自己赋值了一遍,并且还没有报错,所以解决问题的方式就是重命名!
我们将代码改为如下:
private val myAdapter by lazy {MyAdapter()}with(binding.rvContent){adapter = myAdapter}
问题解决了