用imageLoader在listView展示图片

public class mApp extends Application {
@Override
public void onCreate() {
super.onCreate();
//改变图片形式
DisplayImageOptions options = new DisplayImageOptions.Builder().
//支持内存缓存
cacheInMemory(true).
//支持磁盘缓存
cacheOnDisk(true).
displayer(new CircleBitmapDisplayer()).
build();
ImageLoaderConfiguration build = new ImageLoaderConfiguration.Builder(this).
memoryCacheSizePercentage(10).
diskCacheSize(5010241024).
tasksProcessingOrder(QueueProcessingType.FIFO).
defaultDisplayImageOptions(options).
build();
ImageLoader instance = ImageLoader.getInstance();
instance.init(build);
}
}
//在MyBase里的代码
class MyBase extends BaseAdapter {
private Context context;
private List<News.Data> list;
public MyBase(Context context) {
this.context = context;
list=new ArrayList<News.Data>();
}

public void setList(List<News.Data> list) {
    this.list = list;
    notifyDataSetChanged();
}

@Override
public int getCount() {
    return list.size();
}

@Override
public News.Data getItem(int position) {

    return list.get(position);
}

@Override
public long getItemId(int position) {

    return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    Holder holder;
    if(convertView==null){
        convertView=View.inflate(context,R.layout.item,null);
        holder=new Holder();
        holder.image=convertView.findViewById(image);
        holder.text=convertView.findViewById(text);
        convertView.setTag(holder);
    }else {
        holder = (Holder) convertView.getTag();
    }

    DisplayImageOptions options  =new DisplayImageOptions.Builder().
            //配置色彩
            bitmapConfig(Bitmap.Config.RGB_565).
            //配置是否内存缓存
            cacheInMemory(true).
            //配置磁盘是否缓存
             cacheOnDisk(true).
            //加载显示图片
             showImageOnLoading(R.mipmap.ic_launcher).
            //加载错误图片
             showImageOnFail(R.mipmap.ic_launcher).
            //加载空图片
             showImageForEmptyUri(R.mipmap.ic_launcher).
            //配置图片如何缩放
            imageScaleType(ImageScaleType.EXACTLY).
            //显示效果:圆形
             displayer(new RoundedBitmapDisplayer(20)).build();
    ImageLoader.getInstance().displayImage(getItem(position).getPic_url(),holder.image,options);
    holder.text.setText(list.get(position).getNews_title());
    return convertView;
}
class Holder{
    TextView text;
    ImageView image;
}

猜你喜欢

转载自blog.csdn.net/qianana/article/details/83831200