// Path: CommonLayout/app/src/main/java/com/huijimuhe/commonlayout/Adapter/render/HeaderRender.java
// public class HeaderRender extends AbstractRender {
//     private ViewHolder mHolder;
// 
//     public HeaderRender(View parent) {
//         this.mHolder = new ViewHolder(parent);
//     }
// 
// 
//     @Override
//     public void bindData(int position) {
//     }
// 
//     @Override
//     public AbstractViewHolder getReusableComponent() {
//         return this.mHolder;
//     }
// 
//     public class ViewHolder extends AbstractViewHolder {
//         public ViewHolder(View v) {
//             super(v);
//         }
//     }
// }


import android.annotation.TargetApi;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import com.huijimuhe.commonlayout.adapter.render.HeaderRender;
import java.util.List;
package com.huijimuhe.commonlayout.adapter.base;





public abstract class AbstractRenderAdapter<T> extends RecyclerView.Adapter<AbstractViewHolder> {

    public static final int RENDER_TYPE_HEADER = 110 << 1;
    public static final int RENDER_TYPE_NORMAL = 110 << 2;
    public List<T> mDataset;

    public onItemClickListener mOnItemClickListener;
    public onItemFunctionClickListener mOnItemFunctionClickListener;

    private View mHeaderView;
    public boolean mIsSectionHeadShown;

    @Override
    public int getItemViewType(int position) {
        if (position == 0 && mHeaderView != null) {
            return RENDER_TYPE_HEADER;
        }
        return RENDER_TYPE_NORMAL;
    }

    @TargetApi(4)
    public AbstractViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
        switch (viewType) {
            case RENDER_TYPE_HEADER: {
// Path: CommonLayout/app/src/main/java/com/huijimuhe/commonlayout/Adapter/render/HeaderRender.java
// public class HeaderRender extends AbstractRender {
//     private ViewHolder mHolder;
// 
//     public HeaderRender(View parent) {
//         this.mHolder = new ViewHolder(parent);
//     }
// 
// 
//     @Override
//     public void bindData(int position) {
//     }
// 
//     @Override
//     public AbstractViewHolder getReusableComponent() {
//         return this.mHolder;
//     }
// 
//     public class ViewHolder extends AbstractViewHolder {
//         public ViewHolder(View v) {
//             super(v);
//         }
//     }
// }


// Path: CommonLayout/app/src/main/java/com/huijimuhe/commonlayout/Adapter/base/AbstractRenderAdapter.java
import android.annotation.TargetApi;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import com.huijimuhe.commonlayout.adapter.render.HeaderRender;
import java.util.List;

package com.huijimuhe.commonlayout.adapter.base;





public abstract class AbstractRenderAdapter<T> extends RecyclerView.Adapter<AbstractViewHolder> {

    public static final int RENDER_TYPE_HEADER = 110 << 1;
    public static final int RENDER_TYPE_NORMAL = 110 << 2;
    public List<T> mDataset;

    public onItemClickListener mOnItemClickListener;
    public onItemFunctionClickListener mOnItemFunctionClickListener;

    private View mHeaderView;
    public boolean mIsSectionHeadShown;

    @Override
    public int getItemViewType(int position) {
        if (position == 0 && mHeaderView != null) {
            return RENDER_TYPE_HEADER;
        }
        return RENDER_TYPE_NORMAL;
    }

    @TargetApi(4)
    public AbstractViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
        switch (viewType) {
            case RENDER_TYPE_HEADER: {
                HeaderRender head = new HeaderRender(mHeaderView);