android笔记26 - SimpleAdapter 动态显示Bitmap图片
来源:互联网 发布:炎黄网络 服务器怎么样 编辑:程序博客网 时间:2024/05/29 08:36
问题背景:
在项目中用到SimpleAdapter 显示照片, 但是 SimpleAdapter 默认是静态显示程序内部的本地资源,即加载的是 R.drawable.id 这样的照片。如果我加载的是下载的Bitmap格式的图片,或者是SD卡自己存储的图片,那么这样是显示不出来的。
解决办法是:
实现 ViewBinder接口,对两种的资源id和bitmap 情况进行说明。
说明代码说下:
SimpleAdapter saImageItems;// 生成适配器的ImageItem <====> 动态数组的元素,两者一一对应saImageItems = new SimpleAdapter(this, lstImageItem,// 数据来源,也就是说网格视图里装载的数据内容R.layout.gridview,// 网格视图里要显示的东西,这里是一副图像+下标文字new String[] { "ItemImage", "ItemText" },// 动态数组与ImageItem对应的子项new int[] { R.id.ItemImage, R.id.ItemText });// 显示ID号与上面的String[]元素一一对应saImageItems.setViewBinder(new ViewBinder() {@Overridepublic boolean setViewValue(View view,Object data,String textRepresentation) {// TODO Auto-generated method stub if((view instanceof ImageView) && (data instanceof Bitmap)) { ImageView imageView = (ImageView) view; Bitmap bmp = (Bitmap) data; imageView.setImageBitmap(bmp); return true; } return false;}});expandListView.setOnChildClickListener(new OnChildClickListener() {@Overridepublic boolean onChildClick(ExpandableListView parent, View v,int groupPosition, int childPosition, long id) {lstImageItem.clear();ArrayList<HashMap<String,String>> kidsArrayList = new ArrayList<HashMap<String,String>>();int classNum = (groupPosition+1)*100+childPosition+1; kidsArrayList = MainTabActivity.returnDbClassInfo(classNum);int studentNum = kidsArrayList.size();for (int i = 0; i < studentNum; i++) {HashMap<String, Object> map = new HashMap<String, Object>();Bitmap bm = BitmapFactory.decodeFile(kidsArrayList.get(i).get("studentimage")); map.put("ItemImage",bm);// 添加图像资源的IDmap.put("ItemText",kidsArrayList.get(i).get("name") );// 按序号做ItemTexlstImageItem.add(map);}// 添加并且显示gridview.setAdapter(saImageItems);
1 0
- android笔记26 - SimpleAdapter 动态显示Bitmap图片
- Android Base64转换图片,SimpleAdapter动态显示Bitmap图片
- Android--Gridview使用SimpleAdapter加载bitmap图片
- SimpleAdapter动态加载Bitmap
- SimpleAdapter之图片显示不来笔记
- Android SimpleAdapter传入Bitmap
- 学习Android之SimpleAdapter显示网络图片
- Android用simpleAdapter来接收一个Bitmap显示
- Android用simpleAdapter来接收一个Bitmap显示
- SimpleAdapter显示网络图片
- Android SimpleAdapter显示问题
- 使用SimpleAdapter显示网络图片
- Android笔记 simpleAdapter demo
- Android探秘:SimpleAdapter与Bitmap的结合
- android自定义动态数据SimpleAdapter
- Android SimpleAdapter显示ListView、GridView
- Android SimpleAdapter显示ListView、GridView
- Android SimpleAdapter显示ListView、GridView
- HDU 1022 Train Problem I(判断出栈序列是否可行)
- string
- Java 7之多线程并发容器 - CopyOnWriteArrayList
- 计算机操作系统——处理机调度(2)
- Dom基础
- android笔记26 - SimpleAdapter 动态显示Bitmap图片
- C/C++修炼之道01——复制构造函数(copy constructor)
- vector
- JAVA 注释
- 迭代器
- Fedora 19下安装无限网卡驱动(Intel Corporation Wireless 7260 (rev 73))
- 数组
- Java知识总结-异常
- UVa 112 - Tree Summing解题报告