adapter.notifyDataSetChanged()无效处理方法。

   最近在帮朋友做一个文件管理系统。基于android的,这里就记录一下一些趟过的坑。

1.adapter.notifyDataSetChanged();
我们在对一个列表(recycleView、ListView等等)进行数据操作后,通常都会需要对这个列表的数据进行更新。那么就会用到notifyDataSetChanged();
那为什么会毫无反应呢。
主要是因为它观察的那个对象,被我们不小心换了。比如你是不是先将list绑定在这个adapter上。
adapterAccountRecycle = new AdapterAccountRecycle(userBeanList);
然后查询完更新后的数据后立马 list =data 这样赋值过来,顺手就adapter.notifyDataSetChanged()。乍一看没什么毛病,嗯,注意一下这个list的变化。但其实,list现在指向的是data的地址。也就是adapter一开始绑定的list跟后来绑定的不是同一个东西。它在注意list,你给它一个data,它可不敢吃下去。
解决方法:
list.clear()
list.addall(data)

发布了16 篇原创文章 · 获赞 4 · 访问量 323

猜你喜欢

转载自blog.csdn.net/qq_39197781/article/details/104945704