android BaseAdapter(修改优化)

来源:互联网 发布:mac抹掉磁盘后开机没用 编辑:程序博客网 时间:2024/05/20 11:50
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;}@Overridepublic int getCount() {return dataList.size();}@Overridepublic Object getItem(int position) {return dataList.get(position);}@Overridepublic long getItemId(int position) {return position;}@Overridepublic 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(); //重点3holder.title.setText(video.getTitle());return convertView;}}

上次写的BaseAdapter  太水了  下面为改进的  减少加载的view     让view重复利用起来