package cn.daixiaodong.myapp.adapter.common;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import java.util.List;
/**
* Created by daixiaodong on 15/7/9.
*/
public abstract class CommonAdapter<T> extends BaseAdapter {
protected List<T> mData;
protected Context mContext;
protected LayoutInflater mInflater;
protected int mLayoutResId;
public CommonAdapter(Context context, List<T> data, int layoutResId) {
this.mData = data;
mInflater = LayoutInflater.from(context);
this.mContext = context;
this.mLayoutResId = layoutResId;
}
public CommonAdapter(Context context, int layoutResId) {
mInflater = LayoutInflater.from(context);
this.mContext = context;
this.mLayoutResId = layoutResId;
}
public void setData(List<T> data){
this.mData = data;
}
@Override
public int getCount() {
return mData.size();
}
@Override
public T getItem(int position) {
return mData.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
CommonViewHolder viewHolder = CommonViewHolder.get(mContext,position,convertView,parent,mLayoutResId);
convert(viewHolder,getItem(position),position);
return viewHolder.getConvertView();
}
protected abstract void convert(CommonViewHolder viewHolder, T item,int position);
}