适配器优化中: //使用内存缓存+使用磁盘缓存+设置图片格式

来源:互联网 发布:希尔伯特变换 c语言 编辑:程序博客网 时间:2024/06/05 20:40

publicclassMyAdapterextendsBaseAdapter {

private List<Result.DataEntity> datas;

private Context context;

private DisplayImageOptions options;

publicMyAdapter(List<Result.DataEntity> datas, Context context) {

this.datas = datas;

this.context = context;

options=new DisplayImageOptions.Builder()

.cacheInMemory(true)//使用内存缓存

.cacheOnDisk(true)//使用磁盘缓存

.bitmapConfig(Bitmap.Config.RGB_565)//设置图片格式

.build();

}

@Override

publicintgetCount() {

return datas.size();

}

@Override

public Object getItem(int position) {

return datas.get(position);

}

@Override

publiclonggetItemId(int position) {

return position;

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

ViewHolder holder =null;

if(convertView==null){

convertView=View.inflate(context, R.layout.item,null);

holder=new ViewHolder();

holder.tvTitle= (TextView) convertView.findViewById(R.id.tv_title);

holder.img= (ImageView) convertView.findViewById(R.id.img);

convertView.setTag(holder);

}else{

holder=(ViewHolder) convertView.getTag();

}

holder.tvTitle.setText(datas.get(position).getTitle());

if(datas.get(position).getImg()==null || datas.get(position).getImg().equals("")){

holder.img.setImageResource(R.mipmap.ic_launcher);

}else{

//imageLoader加载图片

ImageLoader.getInstance().displayImage(datas.get(position).getImg(),holder.img,options);

}

return convertView;

}

class ViewHolder{

TextView tvTitle;

ImageView img;

}

}

原创粉丝点击