一、需要在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;
}
}