Android ListView SimpleAdapter支持Bitmap类型图片显示
// 处理simpleAdapter中包括bitmap类型
adapter.setViewBinder(new ViewBinder() {
public boolean setViewValue(View view, Object data,
String textRepresentation) {
if (view instanceof ImageView && data instanceof Bitmap) {
ImageView image = (ImageView) view;
image.setImageBitmap((Bitmap) data);
return true;
}
return false;
}
});
完整示例如下:
listData = this.GetPersonalData();
adapter = new SimpleAdapter(this, listData,
R.layout.personal_list_item, new String[] { "label", "image",
"arrows", "value" }, new int[] { R.id.personal_label,
R.id.personal_img, R.id.list_arrows,
R.id.personal_value }); // 处理simpleAdapter中包括bitmap类型
adapter.setViewBinder(new ViewBinder() {
public boolean setViewValue(View view, Object data,
String textRepresentation) {
if (view instanceof ImageView && data instanceof Bitmap) {
ImageView image = (ImageView) view;
image.setImageBitmap((Bitmap) data);
return true;
}
return false;
}
}); mainListView.setAdapter(adapter);
private List<Map<String, Object>> GetPersonalData() {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("label",
this.getResources().getString(R.string.personal_headphoto));
map.put("image",
preferences.getString("photo", null) == null ? R.drawable.head
: this.StringToBitMap(preferences.getString("photo",
null)));//经过上述view.setViewBing之后在put值的时候就可以直接加入BitMap类型图片进行显示了
map.put("arrows", R.drawable.arrows_right);
list.add(map);
map = new HashMap<String, Object>();
map.put("label", this.getResources().getString(R.string.personal_name));
map.put("value", "APP测试");
list.add(map);
map = new HashMap<String, Object>();
map.put("label",
this.getResources().getString(R.string.personal_username));
map.put("value", "xxx");
list.add(map);
map = new HashMap<String, Object>();
map.put("label",
this.getResources().getString(R.string.personal_disease));
map.put("value", preferences.getString("disease", "无"));
map.put("arrows", R.drawable.arrows_right);
list.add(map);
return list;
}
注:着色部分意思为图片资源我用的base64所以这里边我转化了一下。
Android ListView SimpleAdapter支持Bitmap类型图片显示的更多相关文章
- Android ListView分页加载时图片显示问题
场景:Android ListView需要分页加载,每个item中会有图片,图片又是从网络下载的. 问题:在滑动加载下一页时,上一页的图片明明已经下载完成了,但是无法显示出来. Bug重现: 1,加载 ...
- Android -- ListView(SimpleAdapter) 自定义适配器
aaarticlea/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA ...
- android ListView SimpleAdapter 带图片
main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xml ...
- android listview的HeadView左右切换图片(仿新浪,网易,百度等切换图片)
首先我们还是看一些示例:(网易,新浪,百度) 显示效果都不错,可是手感就不一样了,百度最棒,网易还行,新浪就操作很不好,这里我说的是滑动切换图片.自己可以测试一下.不得不说牛叉的公司确实有哦牛叉的道理 ...
- 【转】Android android listview的HeadView左右切换图片(仿新浪,网易,百度等切换图片)
首先我们还是看一些示例:(网易,新浪,百度) 下面我简单的介绍下实现方法:其实就是listview addHeaderView.只不过这个view是一个可以切换图片的view,至于这个vie ...
- Android listView如何判断数据多屏显示 (2012-03-06 09:47:04)
@Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int tot ...
- Java乔晓松-android中调用系统拍照功能并显示拍照的图片
android中调用系统拍照功能并显示拍照的图片 如果你是拍照完,利用onActivityResult获取data数据,把data数据转换成Bitmap数据,这样获取到的图片,是拍照的照片的缩略图 代 ...
- Android ListView异步载入图片乱序问题,原因分析及解决方式
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/45586553 在Android全部系统自带的控件其中,ListView这个控件算是 ...
- AndroidListview 滑动过程中图片显示重复错乱解决方案
主要分析Android中Listview滚动过程造成的图片显示重复.错乱.闪烁的原因及解决方法,顺便跟进Listview的缓存机制. 1.原因分析 Listview item 缓存机制:为了使得性能更 ...
随机推荐
- Linux平台Makefile文件的编写基础篇(转)
目的: 基本掌握了 make 的用法,能在Linux系统上编程.环境: Linux系统,或者有一台Linux服务器,通过终端连接.一句话:有Linux编译环境.准备: ...
- hdu 找新朋友
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; ]; ...
- Use OWIN to Self-Host ASP.NET Web API 2
Open Web Interface for .NET (OWIN)在Web服务器和Web应用程序之间建立一个抽象层.OWIN将网页应用程序从网页服务器分离出来,然后将应用程序托管于OWIN的程序 ...
- java比较相等符
public class Test1 { /** * @param args */ public static void main(String[] args){ int a = 1000, b = ...
- zabbix 对于logstash告警连续发邮件
打上勾就行
- bzoj1188
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1188 一道非常好的SG函数题,加深了对博弈论的理解. 以前做的SG函数的题,都是每个瓶子看成一 ...
- hdu3415:最大k子段和,单调队列
题目大意:给定长度为n的数组,求出最大的区间和,其中区间长度在[1,k]之间 分析: 学动态规划的时候我们会遇到一个经典问题 最大子段和,这个题跟最大子段和很类似 不同的是区间的长度有限制,无法用原算 ...
- python mysql curros.executemany 批量添加
#添加的表结构字段分辨是(id,title,summary,visits,accountName,grabTime) #其中id,是int自增主键,在添加操作的时候,不需要对id进行操作 conn = ...
- DenyHosts限制SSH登录尝试次数
DenyHosts官方网站为:http://denyhosts.sourceforge.net 1. 安装 # tar -zxvf DenyHosts-2.6.tar.gz # cd DenyHost ...
- jps命令使用
jps工具 jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前全部java进程pid的命令,简单有用,很适合在linux/un ...