搜索

首页  >  问答  >  正文

android - 关于ListView 快速滑动,图片显示错位的问题。

Listview展示数据,如果后台返回的数据中包含有文件,则在item的里加载一个本地图片,
如果没有文件,则不显示图片。但是在快速的滑动过程中,会出现图片错位的问题。
就是不包含文件的item的前面也会显示一个本地图片。
请问这个该如何处理? 已使用convertView.setTag(viewHolder) 和
viewHolder = (ViewHolder) convertView.getTag() 。

黄舟黄舟2771 天前577

全部回复(3)我来回复

  • PHPz

    PHPz2017-04-17 17:28:59

    ListView里异步加载图片时可能会出现这个问题。可以看看这篇博客:
    http://www.trinea.cn/android/android-listview-display-error-image-when-scroll/


    你要补全if (list... != 0)的判断,在else里把ImageView的图片还原置空。
    因为viewHoder里取出来的可能是重复利用的imageView,而刚好这个imageView恰好是你上次设置过图片的。

    注意:在使用ViewHolder的时候要千万注意重置View的状态,因为获取到的View很可能是上一个状态和你当前所需要的状态不符合。

    回复
    0
  • ringa_lee

    ringa_lee2017-04-17 17:28:59

    Android 的官方网站上有关于这个的讲解,你可以去看看。
    你的图片不是用从网络获取的,正常使用不应该出现混乱,在getView里面初始化每个条目。

    回复
    0
  • 怪我咯

    怪我咯2017-04-17 17:28:59


    把else补上,设为空图片就行了,你不处理,系统默认重用之前的布局东西。

    回复
    0
  • 取消回复