ListView 加载图片错乱问题

ListView 图片错乱的根本问题是:ListView 布局复用导致的,也就是复用convertView导致的

解决:

1,用第三方的ImageLoader

2,自己处理最主要的就是给ImageView设置Tag,保证ImageView要加载的图片就是从网络上获取的图片

3,通过ListView Item 移除屏幕监听RecyclerListener方式

代码:

1 //设置默认图片        imgHolder.imgView.setImageResource(R.drawable.ic_launcher);
2 // 设置快速滚动不加载图片停止滚动时加载图片
3 if (MainActivity.onscroll.isLoadImg) {
4     //imageiew设置tag
5     imgHolder.imgView.setTag(item.getImgUrl());
6     executor.submit(new ImageLoader(item.getImgUrl(), handler,imgHolder.imgView));
7 }

判断要显示的ImageView是不是当前从网络上拉去的图片

1 ImgResult imgresult = (ImgResult) msg.obj;
2 //判断是不是同一个imageview
3 if(imgresult.img.getTag().equals(imgresult.url)) {                               imgresult.img.setImageBitmap(imgresult.bitmap);
4 }
5             

3,RecyclerListener方式

1 listView.setRecyclerListener(new RecyclerListener() {
2
3             @Override
4             public void onMovedToScrapHeap(View view) {
5                  ImageView img = (ImageView)view.findViewById(R.id.imageView1);
6                 img.setImageResource(R.drawable.ic_launcher);
7             }
8         });
时间: 2024-10-25 03:53:42

ListView 加载图片错乱问题的相关文章

listview加载图片显示

Adapter:   ---- //adapter的构造方法:   参数1 为url数组: public static String[] mList;// 讲url保村在静态的String[] 中 在其他类可以直接调用 public MyListAdapter(String[] list, Context context, ListView listView) { this.mList = list; this.mContext = context; bitmapUtils = new Http

React-Native ListView加载图片淡入淡出效果的组件

今天练习项目中需要给listview在加载图片时增加一个淡入淡出的效果,因此干脆就自己封装了一个组件: 1 'use strict' 2 3 import React from 'react-native' 4 5 var { 6 Animated, 7 PropTypes 8 } = React 9 10 class AniImage extends React.Component { 11 static propTypes = { 12 url: PropTypes.string, 13 i

ListView 加载图片

1. 滑动的时候不加载,停止才加载: 监听 : setOnScrollListener listView.setOnScrollListener 这种写法 很 复杂 http://www.csdn 这个去掉 123.com/html/exception/688/688284_688290_688281.htm 2. 滑过去之后,取消之前的图片请求 几个出名的第三方 都做到了.

android 队列模仿listview同步加载图片

我们今天在listview加载图片都是异步的,如果有个需求要求listview同步加载图片,同步加载图片是什么意思呢?就是第一张图片下载好了,然后接着第二张图片下载,依次类推,今天就简单的模仿写个简单的,而且下载的图片还要缓存到SD卡中 思路: 队列是用LinkedList集合模拟, 缓存:当图片下载成功了把当前图片对应的url经过md5加密存到sd卡中的某个子文件夹下,当用户再次进来的时候,可以adapter中判断这个url是否存在,如果存在就加载这个url对应的图片,就达到了缓存的目的 代码

Android ListView异步加载图片乱序问题,原因分析及解决方案

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/45586553 在Android所有系统自带的控件当中,ListView这个控件算是用法比较复杂的了,关键是用法复杂也就算了,它还经常会出现一些稀奇古怪的问题,让人非常头疼.比如说在ListView中加载图片,如果是同步加载图片倒还好,但是一旦使用异步加载图片那么问题就来了,这个问题我相信很多Android开发者都曾经遇到过,就是异步加载图片会出现错位乱序的情况.遇到这个问题时,不

android listview 滑动过程中不加载图片,停止时加载图片

今天闲来无事, 就测试了一下listview加载图片优化的功能, 在我们使用新浪微博的时候,细心的同学一定发现了,在滑动的过程中,图片是没有被加载的, 而是在滑动停止时,才加载图片了. 我们今天就做一个这样的效果吧. 我们先考虑两个问题: 1.在滑动停止的时候,如何获得需要加载的图片控件? 2.因为listiew在初始化完成的时候,OnScrollListener的onScrollStateChanged与onScroll并未被触发,如何初始化第一页的图片? package com.test.l

android listview异步加载图片错位,重复,闪烁分析以及解决方案

我们在使用listview异步加载图片 的时候,在快速滑动或者网络不好的情况下,会出现图片错位,重复,闪烁等问题,其实这些问题总结起来就是一个问题, 比如listview上有100个item,一屏只显示10个item,我们知道getView()中converView是用来复用view对象的,因为一个item的view对象,而imageview控件就是view通过findViewById()获得的,而我们在复用view对象时,也就是说这个imageview也被复用了,比如第11个item的view

Android ListView异步加载图片错位、重复、闪烁分析以及解决方案

我们在使用ListView异步加载图片的时候,在快速滑动或者网络不好的情况下,会出现图片错位.重复.闪烁等问题,其实这些问题总结起来就是一个问题,我们需要对这些问题进行ListView的优化. 比如ListView上有100个Item,一屏只显示10个Item,我们知道getView()中convertView是用来复用View对象的,因为一个Item的对应一个View对象,而ImageView控件就是View对象通过findViewById()获得的,而我们在复用View对象时,同时这个Ima

Android中ListView异步加载图片错位、重复、闪烁问题分析及解决方案

Android中ListView异步加载图片错位.重复.闪烁问题分析及解决方案 我们在使用ListView异步加载图片的时候,在快速滑动或者网络不好的情况下,会出现图片错位.重复.闪烁等问题,其实这些问题总结起来就是一个问题,我们需要对这些问题进行ListView的优化. 比如ListView上有100个Item,一屏只显示10个Item,我们知道getView()中convertView是用来复用View对象的,因为一个Item的对应一个View对象,而ImageView控件就是View对象通