ListView动态加载网络图片问题 Listview 异步加载Android 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 下载图片的类public class AsyncImageTask extends AsyncTask<View, Void, Bitmap> { private View mView; @Override protected Bitmap doInBackground(View... view) { // TODO Auto-generated method stub Bitmap bitmap = null; if(view[0].getTag()!=null && !view[0].getTag().toString().equals("")){ HttpUtil util = new HttpUtil(); //下载图片 bitmap = util.getIcon(view[0].getTag().toString()); } this.mView = view[0]; return bitmap; } @Override protected void onPostExecute(Bitmap result) { // TODO Auto-generated method stub if(result!=null){ ((ImageView)mView).setImageBitmap(result); mView = null; } super.onPostExecute(result); } }getview 中调用并判断 是否有图片可以下载 if(!mInfoList.get(position).getImageurl().equals("")){ viewHolder.ivIcon.setTag(mInfoList.get(position).getImageurl()); Log.i("mylog","-------" +mInfoList.get(position).getImageurl()); new AsyncImageTask().execute(viewHolder.ivIcon); }在线等答案啊~~~ 在调用这句new AsyncImageTask().execute(viewHolder.ivIcon);之后,将viewHolder.ivIcon赋值为null,清空这个里面携带的图片 用github上的SmartImageView代替ImageView。在adapter的getView方法里面直接调用imageView.setImageUrl(url) if(!mInfoList.get(position).getImageurl().equals("")){ viewHolder.ivIcon.setTag(mInfoList.get(position).getImageurl()); Log.i("mylog","-------" +mInfoList.get(position).getImageurl()); new AsyncImageTask().execute(viewHolder.ivIcon); }else{ viewHolder.ivIcon.setImageResource("默认图片");}仔细了解一下listview的加载特性就知道了 因为你在getview函数里返回的是一样的view 给ImagerView设置 tag ,区分图片位置 已经解决,详情:http://blog.csdn.net/finddreams?viewmode=contents 超级难的问题,搞了很久也没有找到解决方法 Android Overlay && Anrdoid Camera SharedPreferences数据存储问题 求助,android多线程开发,如何控制线程定时刷新,并停止 安卓下,子线程之间如何通信? 使用英特尔? IPP 构建 Android* NDK 应用 怎么获取HorizontalScrollView滚动条的宽度? android中的TabHost? Arcgis中文字标注字体客户端怎么修改 Android有没有什么控件,支持选择一段时间 listview控制内部控件显示隐藏 新建类的oncreate方法没有提示输入,要自己纯手动输入?
public class AsyncImageTask extends AsyncTask<View, Void, Bitmap> { private View mView;
@Override
protected Bitmap doInBackground(View... view) {
// TODO Auto-generated method stub
Bitmap bitmap = null;
if(view[0].getTag()!=null && !view[0].getTag().toString().equals("")){
HttpUtil util = new HttpUtil();
//下载图片
bitmap = util.getIcon(view[0].getTag().toString());
}
this.mView = view[0];
return bitmap;
} @Override
protected void onPostExecute(Bitmap result) {
// TODO Auto-generated method stub
if(result!=null){
((ImageView)mView).setImageBitmap(result);
mView = null;
}
super.onPostExecute(result);
}
}getview 中调用并判断 是否有图片可以下载
if(!mInfoList.get(position).getImageurl().equals("")){
viewHolder.ivIcon.setTag(mInfoList.get(position).getImageurl());
Log.i("mylog","-------" +mInfoList.get(position).getImageurl());
new AsyncImageTask().execute(viewHolder.ivIcon);
}在线等答案啊~~~
在adapter的getView方法里面直接调用imageView.setImageUrl(url)
viewHolder.ivIcon.setTag(mInfoList.get(position).getImageurl());
Log.i("mylog","-------" +mInfoList.get(position).getImageurl());
new AsyncImageTask().execute(viewHolder.ivIcon);
}else{
viewHolder.ivIcon.setImageResource("默认图片");
}
仔细了解一下listview的加载特性就知道了