首页 > 代码库 > adapter.notifyDataSetChanged执行的时候没有执行getview,adapter内容改变了

adapter.notifyDataSetChanged执行的时候没有执行getview,adapter内容改变了

============问题描述============


发现了一个奇怪的问题,adapter我改变了里面的内容,但是adapter.notifyDataSetChanged的时候却没有执行getview,不知道是我哪里写错了,求问

============解决方案1============


你的adapter 跟listView 绑定了吗?
或者绑定被错误置换了?
getView 是由 listView 调用的。

============解决方案2============


缓存!!!!!!!!!!

============解决方案3============


不会是getcount返回0吧

============解决方案4============


是没有执行getView,还是执行了,界面没有刷新?

============解决方案5============


最外层加个try catch 没报错???
代码贴出来看看

============解决方案6============


引用 6 楼 lionfresh 的回复:
是没有执行getView,还是执行了,界面没有刷新?
同问

============解决方案7============


看刷新是在哪做的,我有次始终刷新不了,后来检查是在resume中取的是旧数据

============解决方案8============


引用 10 楼 heaimnmn 的回复:
Quote: 引用 6 楼 lionfresh 的回复:

是没有执行getView,还是执行了,界面没有刷新?
这明显说了没有执行

看看代码吧,还没遇到过你说的情况

============解决方案9============



你notifyDataSetChanged();之前,list.addAll(data);一下

============解决方案10============


引用 16 楼 heaimnmn 的回复:
Quote: 引用 15 楼 u012374885 的回复:


你notifyDataSetChanged();之前,list.addAll(data);一下
我的adapter肯定不为空,一开始已经显示了,不能再add了

你不是改变数据了吗?如果不重新addall的话好像listview里存的还是之前的list的引用

adapter.notifyDataSetChanged执行的时候没有执行getview,adapter内容改变了