在ListView中显示Bitmap图像


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

首先介绍一下ViewBinder:

 SimpleAdapter的外部数据(external clients)可以使用这个类将值绑定到视图。你应该用这个类绑定值到那些不能直接通过SimpleAdapter支持的视图,或者改变通过SimpleAdapter支持绑定的方法的视图。

public abstract boolean setViewValue (View view, Object data, String textRepresentation)

绑定指定数据到指定的视图。 当通过调用ViewBinder绑定数据时,此方法必须返回真。如果这个方法返回假,SimpleAdapter将尝试通过其内部默认的方法绑定数据。

       参数

              view       要绑定数据的视图

data        要绑定到视图的数据

textRepresentation     一个表示所支持数据的安全的字符串:结果是data.toString()或者空字符串,但不会是null

              返回值

                     如果数据绑定到视图返回真,否则返回假。


实例代码如下:

[java]  view
  1. SimpleAdapter simpleAdapter = new SimpleAdapter(this, setData(),  
  2.                 R.layout.list, new String[] {"Name""Image" }, new int[] {  
  3.                 R.id.list_Name, R.id.list_Image });  
  4.         simpleAdapter.setViewBinder(new ListViewBinder());  
  5.   
  6. private class ListViewBinder implements ViewBinder {  
  7.   
  8.         @Override  
  9.         public boolean setViewValue(View view, Object data,  
  10.                 String textRepresentation) {  
  11.             // TODO Auto-generated method stub  
  12.             if((view instanceof ImageView) && (data instanceof Bitmap)) {  
  13.                 ImageView imageView = (ImageView) view;  
  14.                 Bitmap bmp = (Bitmap) data;  
  15.                 imageView.setImageBitmap(bmp);  
  16.                 return true;  
  17.             }  
  18.             return false;  
  19.         }  
  20.           
  21.     }   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值