package com.mcxtzhang.commonadapter.viewgroup.adapter.single; import android.content.Context; import android.view.View; import android.view.ViewGroup; import com.mcxtzhang.commonadapter.viewgroup.adapter.cache.BaseCacheAdapter; import com.mcxtzhang.commonadapter.viewgroup.adapter.cache.ViewHolder; import java.util.List; /** * 介绍:一个简化的Adapter * 只支持单种Item * 用LayoutId 构建View * <p> * 使用时,一般将数据结构的泛型传入,配合构造函数传入的ItemLayoutId使用. * <p> * 作者:zhangxutong * 邮箱:mcxtzhang@163.com * 主页:http://blog.csdn.net/zxt0601 * 时间: 16/12/10. */ public abstract class SingleAdapter<T> extends BaseCacheAdapter<T> { protected int mItemLayoutId; public SingleAdapter(Context context, List<T> datas, int itemLayoutId) { super(context, datas); mItemLayoutId = itemLayoutId; } @Override public View getView(ViewGroup parent, int pos, T data) { //实现getView ViewHolder holder = /*onCreateView(parent, pos)*//*mInflater.inflate(mItemLayoutId, parent, false)*/ getViewHolderByType(parent, mItemLayoutId); onBindViewHolder(parent, holder, data, pos); return holder.itemView; } /** * 暴漏这个 让外部bind数据 * * @param parent * @param holder * @param data * @param pos */ public abstract void onBindViewHolder(ViewGroup parent, ViewHolder holder, T data, int pos); /* *//** * 通过ItemLayoutId inflate View * * @param parent * @param pos * @return *//* public View onCreateView(ViewGroup parent, int pos) { return createItemView(parent, pos); } public View createItemView(ViewGroup parent, int pos) { return mInflater.inflate(mItemLayoutId, parent, false); }*/ }