出错-android Listview显示图片不正确问题

问题描述

android Listview显示图片不正确问题

Listview有5条数据,但是每次加载完,第一个item显示的图片都是最后一条数据的图
片,刷新之后正常,怎样才能让第一条显示正确?下面是我getview方法的内容,希望各位帮忙看下!
public View getView(int position, View contentView, ViewGroup arg2) {
HelpHolder holder = null;
if (null == contentView) {
holder = new HelpHolder();
contentView = LayoutInflater.from(mcontext).inflate(
R.layout.ranking_list_item, null);

        holder.rank = (TextView) contentView
                .findViewById(R.id.rank_item_number);;
        holder.name = (TextView) contentView
                .findViewById(R.id.rank_item_name);
        holder.score = (TextView) contentView
                .findViewById(R.id.rank_item_score);
        holder.image = (ImageView) contentView
                .findViewById(R.id.rank_uer_avatar);

        contentView.setTag(holder);
    } else {
        holder = (HelpHolder) contentView.getTag();
    }

    if (position == 0) {
        holder.rank.setBackgroundResource(R.drawable.bg_rank1);
        holder.rank.setTextColor(Color.parseColor("#ffffff"));
    } else if (position == 1) {
        holder.rank.setBackgroundResource(R.drawable.bg_rank2);
        holder.rank.setTextColor(Color.parseColor("#ffffff"));
    } else if (position == 2) {
        holder.rank.setBackgroundResource(R.drawable.bg_rank3);
        holder.rank.setTextColor(Color.parseColor("#ffffff"));
    } else {
        holder.rank.setBackgroundResource(R.drawable.bg_rank);
        holder.rank.setTextColor(Color.parseColor("#A98F52"));
    }

    holder.image.setTag(ranklist.get(position).getRank());
    holder.image.setImageResource(R.drawable.ph_user);

    holder.name.setText(ranklist.get(position).getUserName());
    holder.rank.setText(ranklist.get(position).getRank() + "");
    holder.score.setText(ranklist.get(position).getScore());

    if (holder.image.getTag().equals(position+1)&& holder.image.getTag() != null) {

        if (ranklist.get(position).getAvatar() != null
                            && !ranklist.get(position).getAvatar().equals("")) {
            Log.d("tags-000-----====-------",position+"----"+ranklist.get(position).getAvatar());
            imageloader.displayImage(ranklist.get(position).getAvatar(),
                        holder.image,options);
        }else{
            Log.d("tags-1111----====-------",position+"----");
            holder.image.setImageResource(R.drawable.ph_user);
        }

    }

    return contentView;
}

解决方案

找到原因了,加载图片时因为有异步加载,所以无论是加载网络图片还是本地图片都应该使用一种加载方式

解决方案二:

Android ListView滑动过程中图片显示重复错乱闪烁问题解决
Android ListView滑动过程中图片显示重复错乱闪烁问题解决
Android ListView滑动过程中图片显示重复错位闪烁问题解决

时间: 2024-11-03 20:28:11

出错-android Listview显示图片不正确问题的相关文章

安卓(Android)ListView 显示图片文字_Android

一.代码实现 1.  "Activity_11\src\yan\activity_11\MainActivity.java" package yan.activity_11; import android.os.Bundle; import android.app.Activity; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import a

android手机显示图片ios不显示

问题描述 android手机显示图片ios不显示 android 手机显示图片 ios不显示 android 手机显示图片 ios不显示 android 手机显示图片 ios不显示 解决方案 检查下网络环境的差异 解决方案二: 注意检查图片格式,tif文件IOS显示可能会出问题 解决方案三: 注意检查图片格式,tif文件IOS显示可能会出问题 解决方案四: 错了 是取出第一个元素,然后在元素里再取值 解决方案五: 如果是网络请求,注意http://开头

安卓(Android)ListView 显示图片文字

一.代码实现 1.  "Activity_11\src\yan\activity_11\MainActivity.java" package yan.activity_11; import android.os.Bundle; import android.app.Activity; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import a

Android ListView显示底部的分割线

  有些时候,我们会提出这样的需求,希望ListView显示底部(顶部)的分割线,这样做,会使得UI效果更加精致,如下图所示:   如果搜索资料,大家会搜到一堆相关的方法,最多的莫过于设置listview的footerdividersenabled和headerdividersenabled,可是,在某些情况下,我们会发现,就算设置了这两个属性,也无法添加底部或者是顶部的分割线. 具体原因,主要是因为一些嵌套布局,或者是手机兼容性的问题,导致该属性失效.关于使用ListView应该注意的地方,可

winf ListView显示图片和CheckBoxs问题

问题描述 如题功能是ListView与imagelist批量显示图片,ListView的CheckBoxes为true,View为LargeIcon.图片我设置是200,200大小,显示出来后,checkBox显示在图片正中间,郁闷了,这个效果肯定不行啊,如何让checkbox显示在图片左边呢,求解决方案! 解决方案 解决方案二:泥煤,提示服务器无响应,我又发一遍,尽然都成功了SO此帖作废,发重复了解决方案三:泥煤,提示服务器无响应,我又发一遍,尽然都成功了SO此帖作废,发重复了解决方案四:泥煤

winform listview 显示图片错位问题

问题描述 解决方案 解决方案二:想把图片显示成系统盘符下那种略缩图一样,然后成这样了,怎么办

Android listview异步图片加载之优化篇——ImageLoader

http://blog.csdn.net/geniuseoe2012/article/details/8563680 http://blog.csdn.net/ouyangtianhan/article/details/8070481

android-Android ImageLoader显示图片内存猛增

问题描述 Android ImageLoader显示图片内存猛增 我在用ImageLoader的时候,显示了2M图片的时候内存一下在就到了20M(还是可以运行的 我的ImageLoaderOptions 设置.cacheInMemory(false) config .memoryCache(new LruMemoryCache(2 * 1024 * 1024)).memoryCacheSize(50 * 1024 * 1024)..这是怎么回事? 解决方案 2M是因为图片被编码压缩了之后的,要显

listview-Android Listview显示

问题描述 Android Listview显示 现在我要实现这功能 ,在一个日历某一天有异常然后对应的那天有个明显的标记 ,日历下面是个Listview.我现在得到了数据并且成功绑定到Listview上面.现在我要实现, 在对应的月份里只显示对应的异常. 比如2.13号有标记所以在2月份的时候我Listview只显示2月份的 异常数据.其它月份的在滑动到其它月份的时候显示.## 我考虑好久不知道要怎么实现这功能,求指点**** 解决方案 这应该很简单啊,你切换月份时会触发一个事件,譬如Month