一般来说,在用simpleAdapter适配器时,我们所要显示的图片资源都是程序内的本地资源,而且是以资源的ID(Resources ID)形式来表现的。
map.put("img", R.drawable.i3);
但是有时候我们需要用这个适配器来显示网上的远程图片时,该如何直接显示呢?方法是实现ViewBinder()这个接口,在里面定义数据和视图的匹配关系
adapter=new SimpleAdapter(this, data,// 数据源 R.layout.activity_new_product_item,// 显示布局 new String[] { "itemImage", "itemText", "itemNewPrice", "itemOldPrice" }, new int[] { R.id.itemImage, R.id.itemText, R.id.newprice, R.id.oldprice }); adapter.setViewBinder(new ViewBinder() { @Override public boolean setViewValue(View view, Object data, String textRepresentation) { if( (view instanceof ImageView) & (data instanceof Bitmap) ) { ImageView iv = (ImageView) view; Bitmap bm = (Bitmap) data; iv.setImageBitmap(bm); return true; } return false; } }); gridView.setAdapter(adapter);