从网络异步加载listView中图片
来源:互联网 发布:程序员的数学 编辑:程序博客网 时间:2024/04/20 03:30
用一个Map<Integer,Bitmap>
cavasImageTask取到图片后把图片放到map里
键是listivew的position。
在getView里面先判断map里是否有,如果有直接拿,没有的话再asyncTask.execute.
public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub if (convertView == null) { holder = new NewsHolder(); convertView = inflater.inflate(R.layout.newitem, null); holder.img = (ImageView) convertView.findViewById(R.id.img); holder.title = (TextView) convertView.findViewById(R.id.title); holder.content = (TextView) convertView.findViewById(R.id.content); convertView.setTag(holder); } else { holder = (NewsHolder) convertView.getTag(); } holder.img.setId(position); holder.img.setTag(this.imgPath[position]); info = newsList.get(position); if (info != null) { holder.title.setText(info.getTitle()); holder.content.setText(info.getContent()); } if (map.containsKey(position + "")) { holder.img.setimagebitmap(map.get(position)); } else { holder.img.setimagebitmap(null); } //这里是异步调用图片 new CanvasImageTask().execute(holder.img); holder.img.setDrawingCacheEnabled(true); return convertView;}
public class CanvasImageTask extends AsyncTask < ImageView,Void,Bitmap > { private ImageView gView; protected Bitmap doInBackground(ImageView...views) { Bitmap bmp = null; ImageView view = views[0]; // 根据iconUrl获取图片并渲染,iconUrl的url放在了view的tag中。 if (view.getTag() != null) { try { URL url = new URL(view.getTag().toString()); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setDoInput(true); conn.connect(); InputStream stream = conn.getInputStream(); bmp = BitmapFactory.decodeStream(stream); stream.close(); } catch(Exception e) { Log.v("img", e.getMessage()); return null; } } this.gView = view; return bmp; } protected void onPostExecute(Bitmap bm) { if (bm != null) { //此处更新图片 this.gView.setImageBitmap(bm); this.gView = null; } }
0 0
- 从网络异步加载listView中图片
- libgdx中异步从网络加载图片
- android listview 中从网络加载图片
- 深入剖析Android之ListView从网络异步加载图片
- listview 异步加载 网络图片
- Android中ListView使用- 网络图片的异步加载
- android中listView实现异步加载网络图片
- android中listView实现异步加载网络图片
- Android中ListView使用- 网络图片的异步加载
- AsyncTask实现ListView中异步加载网络图片
- Android异步加载学习笔记之二:实现ListView中的图片数据从网络加载
- Android ListView异步加载网络图片显示
- Android Listview异步动态加载网络图片
- Android ListView异步加载网络图片
- Android ListView异步加载网络图片
- Android从网络上 异步加载图片
- android中ListView异步加载图片
- listview 异步加载图片
- android从应用到驱动之—camera(1)---程序调用流程
- ORACLE中的新用户
- 用Visual Studio高版本打开低版本的工程,转换时出现错误:fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- 真人秀张柏芝谢霆锋谁更会演?
- VS2002文件的引用问题
- 从网络异步加载listView中图片
- 什么时候程序员该跳槽了
- 没有搭讪的人生是不完整的
- Ubuntu上运行shell脚本报错:bad interpreter: No such file or directory
- mysql配置定时任务
- TextWatcher EditText 文本监听
- Android桌面悬浮窗效果实现,仿360手机卫士悬浮窗效果
- 谷歌优化搜索算法 进一步打击盗版网站排名
- java 将jpg、bmp、png、gif图片文件,进行等比或非等比的大小转换