package com.hoollyzhang.hlib.adapter; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import java.util.List; /** * Created by brzhang on 15/6/8. * Description : 通用adapter */ public abstract class CommonAdapter<T> extends BaseAdapter { protected Context mContext; protected List<T> mDatas; protected final int mItemLayoutId; public CommonAdapter(Context context, List<T> mDatas, int itemLayoutId) { this.mContext = context; this.mDatas = mDatas; this.mItemLayoutId = itemLayoutId; } @Override public int getCount() { return mDatas.size(); } @Override public T getItem(int position) { return mDatas.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { final ViewHolder viewHolder = getViewHolder(convertView, parent); //赋值操作 convert(viewHolder, getItem(position)); return viewHolder.getConvertView(); } /** * 哪个控件需要你去赋值,在这里面自己撸吧 * @param helper * @param item */ public abstract void convert(ViewHolder helper, T item); private ViewHolder getViewHolder(View convertView, ViewGroup parent) { return ViewHolder.get(mContext, convertView, parent, mItemLayoutId); } }