// 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;

    public void replace(List<T> data) {
        this.mDataset = data;
        notifyDataSetChanged();
    }

    public void replace(List<T> data, boolean isSectionHeadShown) {
        this.mDataset = data;
        this.mIsSectionHeadShown = isSectionHeadShown;
        notifyDataSetChanged();
    }

    public void remove(T data) {
        this.mDataset.remove(data);
        notifyDataSetChanged();
    }

    public void addAll(List<T> data) {
        this.mDataset.addAll(data);
        notifyDataSetChanged();
    }

    public List<T> getList() {
        return this.mDataset;
    }

    public int getRealPosition(int position) {
        return hasHeaderView() && position != 0 ? position - 1 : position;
    }

// 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;


    public void replace(List<T> data) {
        this.mDataset = data;
        notifyDataSetChanged();
    }

    public void replace(List<T> data, boolean isSectionHeadShown) {
        this.mDataset = data;
        this.mIsSectionHeadShown = isSectionHeadShown;
        notifyDataSetChanged();
    }

    public void remove(T data) {
        this.mDataset.remove(data);
        notifyDataSetChanged();
    }

    public void addAll(List<T> data) {
        this.mDataset.addAll(data);
        notifyDataSetChanged();
    }

    public List<T> getList() {
        return this.mDataset;
    }

    public int getRealPosition(int position) {
        return hasHeaderView() && position != 0 ? position - 1 : position;
    }

    public T getItem(int position) {