调用notifyDataSetChanged不起作用的解决办法
这里简要说明:
问题1、 android一些控件adapter的notifyDataSetChanged的简单机制
看了很多博客只是说调用notifyDataSetChanged就可以实现控件更新,但其实不够详细!!从下面的图片我们可以看到当我们调用notifyDataSetChanged方法时,会自动调用getView这个方法返回新的视图,所以调用notifyDataSetChanged方法会引发两个方法,一个是notifyDataSetChanged本身,一个就是返回的视图界面由此得出问题2的答案。
问题2、在哪里更新数据才是有效的
简单来说就是在以上两个被调动的方法中更新自己用到的的数据,就可以了,
1、放在notifyDataSetChanged
2、getView的最开始的地方,依据你传入数据的方法来在这两个地方写好更新数据的方法后,调用notifyDataSetChanged就可以了
2021年10月28日补充:
3、还可以直接在数据源更新的代码后,加上notifyDataSetChanged这条语句,总之要注意数据源是否有变。
更新数据的通常步骤:
1、清除储存数据用的数组变量 或者ArrayList变量之类的,Arraylist的方法是 xxx.clear()
2、填入新数据就好了。