一、需要在XML清单文件中application里面配置android:name=".MyImageLoader"
二、需要添加一个框架,在project Structure 选中当前工程点击Dependencies ,有上角的加号,选择第一个,然后搜索universal-image-loader:1.9.5
public class MyImageLoader extends Application {
@Override
public void onCreate () {
super .onCreate();
File files = StorageUtils.getOwnCacheDirectory(this , Environment.getDownloadCacheDirectory().getPath());
ImageLoaderConfiguration builder = new ImageLoaderConfiguration.Builder(this )
.threadPoolSize(3 )
.memoryCache(new LruMemoryCache(2 * 1024 * 1024 ))
.diskCache(new UnlimitedDiskCache(files))
.diskCacheSize(50 * 1024 * 1024 )
.diskCacheFileCount(100 )
.diskCacheFileNameGenerator(new Md5FileNameGenerator())
.build();
ImageLoader.getInstance().init(builder);
}
}
public class MyAdapter extends BaseAdapter {
private Context context;
private List<Bean.ResultBean.DataBean> list;
private ImageView onimg;
private final DisplayImageOptions builder;
private viewHolder holder;
private TextView ontv;
public MyAdapter (Context context, List<Bean.ResultBean.DataBean> list){
this .context = context;
this .list = list;
builder = new DisplayImageOptions.Builder()
.showImageOnFail(R.mipmap.ic_launcher)
.showImageOnLoading(R.mipmap.ic_launcher)
.cacheOnDisk(true )
.cacheInMemory(true )
.build();
}
@Override
public int getCount () {
return list.size();
}
@Override
public Object 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) {
if (convertView == null ){
convertView = View.inflate(context,R.layout.list_main,null );
holder = new viewHolder();
holder.onimg = (ImageView) convertView.findViewById(img);
holder.ontv = (TextView) convertView.findViewById(R.id.ontv);
}
holder.ontv.setText(list.get(position).getTitle());
ImageLoader.getInstance().displayImage(list.get(position).getAlbums().get(0 ),holder.onimg,builder);
return convertView;
}
class viewHolder{
private TextView ontv;
private ImageView onimg;
}
}