这是本人的第一篇博客日志,记录一下今天开发中遇到的adapter的notifyDataSetChanged()的失效的问题。
网上相似的问题挺多的,不过还是记录一下,写写博客,希望能提高自己的水平。
先贴错误的代码
list = getList(list);
adapter.notifyDataSetChanged();
这样写之后发现无论怎么往list添加,都没法刷新数据。
后来查阅资料之后了解到list直接赋值会改变内存地址从而使这个方法失效。
于是更改了如下代码
List<PackcarsBean> list2;
list.addAll(bean.getPackcars());
list2 = getList(list);
list.clear();
list.addAll(list2);
adapter.notifyDataSetChanged();
于是解决问题。大功告成。