美文网首页Android开发经验谈程序员技术干货
使用XUtils3给listview加载网络图片

使用XUtils3给listview加载网络图片

作者: JUNE言JUNE语 | 来源:发表于2016-06-16 00:23 被阅读2999次

百度网盘
链接: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<Map<String, Object>>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加载网络图片

    本文链接:https://www.haomeiwen.com/subject/hllpdttx.html