Android--Gridview使用SimpleAdapter加载bitmap图片
2016-08-16 14:25
387 查看
在给Gridview设置Item的时候,需要填充图片和文本两个Item,若是采用SimpleAdapter来加载Gridview的话,直接传入本地的图片资源ID是可以正常显示的。但是如果要显示bitmap资源的话,则需要在set之前通过setViewBinder这个接口转换一下,否则可能会提示无法decode资源,或者提示目录或资源不存在。
这样转化之后就可以正常显示远程图片了,此方法同样适用于从SD卡或者本地文件读取图片后,通过SimpleAdapter来显示。
Bitmap bitmap = imageLoader.getBitmap(url); //通过网络或者缓存得到的图片资源 HashMap<String, Object> map = new HashMap<String, Object>(); if(url!=""){ map.put("ItemName",allBean.getEnName()); map.put("ItemImage", bitmap); //直接传入bitmap资源 map.put("ItemText", allBean.getTitle()); meumList.add(map); } SimpleAdapter saItem = new SimpleAdapter(getContext(), meumList, <span style="white-space:pre"> </span>//数据源 R.layout.item, <span style="white-space:pre"> </span>//xml实现 new String[]{"ItemImage", "ItemText"}, <span style="white-space:pre"> </span>//对应map的Key new int[]{R.id.ItemImage, R.id.ItemText}); <span style="white-space:pre"> </span>//对应R的Id
//以下方法通过setViewBinder接口将bitmap转化一下 这一步很重要!
saItem.setViewBinder(new SimpleAdapter.ViewBinder() { @Override public boolean setViewValue(View view, Object bitmapData, String s) { if(view instanceof ImageView && bitmapData instanceof Bitmap){ ImageView i = (ImageView)view; i.setImageBitmap((Bitmap) bitmapData); return true; } return false; } });
//添加Item到网格中</span>
gridview.setAdapter(saItem);</span>
这样转化之后就可以正常显示远程图片了,此方法同样适用于从SD卡或者本地文件读取图片后,通过SimpleAdapter来显示。
相关文章推荐
- Android使用BitmapFactory.Options解决加载大图片内存溢出问题
- 【Android Training - 09】高效地显示Bitmap图片 [ Lesson 5 - 使用ViewPager与GridView显示图片 ]
- Android使用BitmapFactory.Options解决加载大图片内存溢出问题
- 转!Android使用BitmapFactory.Options解决加载大图片内存溢出问题
- Android使用BitmapFactory.Options解决加载大图片内存溢出问题
- Android(decode文件转成bitmap)使用BitmapFactory.Options解决加载大图片内存溢出
- Android使用BitmapFactory.Options解决加载大图片内存溢出问题
- Android使用BitmapFactory.Options解决加载大图片内存溢出问题
- android开发记录1 GridView加载大量本地图片的bitmap的回收问题
- Android使用BitmapFactory.Options解决加载大图片内存溢出问题
- Android使用BitmapFactory.Options解决加载大图片内存溢出问题
- Android使用BitmapFactory.Options解决加载大图片内存溢出问题
- Android使用BitmapFactory.Options解决加载大图片内存溢出问题
- Android Bitmap大量使用不产生OOM之“加载大图片资源优化”
- Android使用BitmapRegionDecoder加载超大图片方案
- Android使用BitmapFactory.Options压缩图片解决加载大图片内存溢出
- Android使用BitmapFactory.Options解决加载大图片内存溢出问题
- Android使用BitmapFactory.Options解决加载大图片内存溢出问题
- Android使用BitmapFactory.Options解决加载大图片内存溢出问题
- Android使用BitMap压缩图片(高效加载大图)Code+详解