使用XUtils3给listview加载网络图片

百度网盘
链接:http://pan.baidu.com/s/1slxNlAt 密码:2no0

前段时间做了个项目,刚刚接触了xutils3.0,还不是很清楚如何使用,今天突然想到一个好办法,做一个尝试,同时写下这篇博文。

个人想法

我的想法是使用一个SimpleAdapter来个listview适配内容,前段时间在使用的时候就做过利用setViewBinder这个方法给SimpleAdapter设置可以适配到图片,不过图片是本地传入一个bitmap的数据,但是没有做过直接传一个url进行加载。

首先是如何设置SimpleAdapter适配bitmap。

/**
  *设置simpleAdapter可识别bitmap
  *就是现在在simpleAdapter中传入一个bitmap就可以适配到imageView中
  *并且显示出来
  */
simpleAdapter.setViewBinder(new ViewBinder() {    
    public boolean setViewValue(  
            View view,   
            Object data,    
         String textRepresentation) {    
    //判断是否为我们要处理的对象    
    if(view instanceof ImageView  && data instanceof Bitmap){    
        ImageView iv = (ImageView) view;    
        iv.setImageBitmap((Bitmap) data);    
        return true;    
    }else    
    return false;    
}    
});   

在这个方法的基础上修改
想法就是只要适配到View的类型是imageView的同时,data的类型是String,就使用xutils给imageView加载图片

需要补习xutils的用法的戳这里
代码如下:

//在oncreate方法中new一个SimpleAdapter
//getData()是我自己实现的装载ArrayList>mapList的方法
//这个方法返回一个mapList,数据可以加载到listview
simpleAdapter = new SimpleAdapter(MainActivity.this, getData(), 
        R.layout.word,new String[]{"a"}, 
        new int[]{R.id.iv});


simpleAdapter.setViewBinder(new ViewBinder() {    
    public boolean setViewValue(  
            View view,   
            Object data,    
         String textRepresentation) {    
    //判断是否为我们要处理的对象    
    if(view instanceof ImageView  && data instanceof String){    
        ImageView iv = (ImageView) view;  
        //使用xutils加载图片到imageView
        x.image().bind(iv, (String)data);
        return true;    
    }else    
    return false;    
}    
});

image_lv.setAdapter(simpleAdapter);

上述代码均在oncreate方法中实现
直接上图吧

使用XUtils3给listview加载网络图片_第1张图片
效果图
记录下自己容易忘记的
才不会每次学完用完
又忘记了

你可能感兴趣的:(使用XUtils3给listview加载网络图片)