android listview用adapter.notifyDataSetChanged()无法刷新每项的图标

        今天在开发中遇到一个很奇怪的listview的问题。

       这个问题情景是我的应用需要做一个无图模式,然后在无图修改为有图时需要全部刷新加载图片,我做的思路就是全部activity都设一个广播监听器,监听到这个选项变化时刷新所有有图片的控件,其中有很多listview是有icon的,然后其他数据较多的listview都能刷新,就是有两种listview刷新不了,这两种listview都只是四五个数据,两种listview分列在一个viewpager的两个子页中。如果这个viewpager显示了其中一个子页,那这个子页下面的listview能刷新的了icon,但是没有被选择那个子页就不能加载icon。  刷新时用adapter.notifyDataSetChanged(),找了很久原因都找不到,感觉是android优化机制,最后换一种思路,用强制刷新的方法刷新,用listView.invalidate();还是不行,换了 listView.invalidateViews() 这个方法就可以了。感觉很奇怪,

      有空再认真找下原因,把方法写出来,免得遇到同样错误的人走太多弯路。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值