在listview中添加bitmap位图的方法

遇到一个问题,从servlet获取的bitmap位图需要显示在listview里面,但是发现直接传入位图会报错,原来listview只能传入图片id。最后在网上查找到如下方法。

转自:http://hi.baidu.com/jialy1987/item/d736eba9abb9f1278919d3a6

一般来说,在用simpleAdapter适配器时,我们所要显示的图片资源都是程序内的本地资源,而且是以资源的ID(Resources ID)形式来表现的。但是有时候我们需要用这个适配器来显示网上的远程图片时,该如何直接显示呢?方法是实现ViewBinder()这个接口,在里面定义数据和视图的匹配关系。实例代码如下:

SimpleAdapter simple = new SimpleAdapter(
						NameQueryActivity.this, items, R.layout.book_name_item,
						new String[] { "front","book_id", "book_name", "book_cover",
								"book_posation", "book_remaining",
								"book_sales", "book_class", "book_contents" },
						new int[] { R.id.front,R.id.book_bianhao, R.id.book_mingcheng,
								R.id.book_fengmian, R.id.book_weizhi,
								R.id.book_shengyu, R.id.book_yishou,
								R.id.book_zhonglei, R.id.book_mulu });
				 
				  
				 class ListViewBinder implements ViewBinder {  
				  
				        @Override  
				        public 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;
				        }  
				          
				    }
				simple.setViewBinder(new ListViewBinder()); 
				resultList.setAdapter(simple);


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值