您的位置:首页 > 移动开发 > Android开发

android BaseAdapter(修改优化)

2013-05-30 21:36 204 查看
public class VideoListAdapter extends BaseAdapter {

private Context context;
private List<VideoInfo> dataList; //数据源
private LayoutInflater inflater;

public VideoListAdapter(Context context, List<VideoInfo> dataList) {
this.context = context;
this.dataList = dataList;
this.inflater = LayoutInflater.from(context);
}

private class ViewHolder {  //这是重点一
public ImageView photo;
public TextView title;
}

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

@Override
public Object getItem(int position) {
return dataList.get(position);
}

@Override
public long getItemId(int position) {
return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
final VideoInfo video = dataList.get(position);
if (convertView == null) {  //第一次加载时 判断convertView 是否已存在,若存在则重复利用,否则新加载一个
convertView = inflater.inflate(R.layout.video_item_adapter, null);
ViewHolder vh = new ViewHolder();
vh.photo = (ImageView) convertView.findViewById(R.id.video_item_photo);
vh.title = (TextView) convertView.findViewById(R.id.video_item_title);
convertView.setTag(vh);//重点2
}
ViewHolder holder = (ViewHolder) convertView.getTag(); //重点3
holder.title.setText(video.getTitle());

return convertView;
}

}


上次写的BaseAdapter  太水了  下面为改进的  减少加载的view     让view重复利用起来
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: