Android用simpleAdapter来直接显示bitmap图片

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

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。