Android用simpleAdapter来接收一个Bitmap显示,本地图片和网络图片

本文介绍了一种在Android开发中使用ViewBinder接口优化SimpleAdapter显示远程图片的方法。通过实现ViewBinder,可以自定义数据与视图的绑定方式,特别适用于需要加载网络图片的情况。文章提供了具体的代码示例,展示了如何在ListView中动态更新并显示图片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

    我在一个小项目中需要用到将SD卡中的图片读出后,缩略计算后再simpleAdapter进行显示。在编程过程中,一般来说,在用simpleAdapter适配器时,我们所要显示的图片资源都是程序内的本地资源,而且是以资源的ID(Resources)形式来表现的。但是有时候我们需要用这个适配器来显示网上的远程图片时,该如何直接显示呢?方法是实现ViewBinder()这个接口,在里面定义数据和视图的匹配关系。代码片段如下:

 

  1. ArrayList<HashMap<String, Object>> listItemImage = getFileItems(files);
  2. String[] from = {"ItemImage","ItemText","ItemCount"};
  3. int[] to = {R.id.listItemImage,R.id.listItemName,R.id.listItemFolderCount};
  4. listAdapter = new SimpleAdapter(ImageActivity.this, listItemImage, R.layout.listview_item, from, to);
  5. /*实现ViewBinder()这个接口*/
  6. listAdapter.setViewBinder(new ViewBinder() {
  7. @Override
  8. public boolean setViewValue(View view, Object data,
  9. String textRepresentation) {
  10. // TODO Auto-generated method stub
  11. if(view instanceof ImageView && data instanceof Bitmap){
  12. ImageView i = (ImageView)view;
  13. i.setImageBitmap((Bitmap) data);
  14. return true;
  15. }
  16. return false;
  17. }
  18. });
  19. listView.setAdapter(listAdapter);
  20. /*动态跟新ListView*/
  21. listAdapter.notifyDataSetChanged();


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值