一般来说,在用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);

 

posted on 2014-10-16 12:39  蒋晓宇  阅读(647)  评论(0编辑  收藏  举报