SectionedRecyclerView over Write first item
<p>I'm Trying to use : SimpleSectionedRecyclerViewAdapter , i have arrayList that have 30 elements with strings , i'm going to group every 10 elements with header Title ,
 first item should be "Item0" with header name "First 10 elements start" 
but when doing that i get :</p>

<p>"First 10 elements start"  // header titile</p>

<p>"Item1"  &lt;---! note : it should "Item0"</p>

<p>so where is index number 0 gone?</p>

<pre><code> //adapter.addItem3(CategoriesList.get(0));
                List&lt;SimpleSectionedRecyclerViewAdapter.Section&gt; sections =
                        new ArrayList&lt;SimpleSectionedRecyclerViewAdapter.Section&gt;();

               sections.add(new SimpleSectionedRecyclerViewAdapter.Section(0, "First 10 elements start"));


                //Add your adapter to the sectionAdapter
                SimpleSectionedRecyclerViewAdapter.Section[] dummy = new SimpleSectionedRecyclerViewAdapter.Section[sections.size()];
                SimpleSectionedRecyclerViewAdapter mSectionedAdapter = new
                        SimpleSectionedRecyclerViewAdapter(activity, R.layout.drawer_header_book, R.id.headerName, adapter);
                mSectionedAdapter.setSections(sections.toArray(dummy));
                mDrawerList.setLayoutManager(new LinearLayoutManager(activity));
                mDrawerList.setAdapter(mSectionedAdapter);
</code></pre>

<p>I'm using exactly as adapter  : 
<a href="https://gist.github.com/gabrielemariotti/4c189fb1124df4556058" rel="nofollow">https://gist.github.com/gabrielemariotti/4c189fb1124df4556058</a> </p>

<pre><code>  public class DrawerItemCustomAdapterForAllBooks extends RecyclerView.Adapter&lt;DrawerItemCustomAdapterForAllBooks.SimpleViewHolder&gt; {

private final Context context;
Typeface custom_font;
ArrayList&lt;Categories&gt; mData;
private static final int TYPE_HEADER = 0;
private static final int TYPE_ITEM = 0;
private static final int TYPE_SEPARATOR = 1;
int BookID;

public void add(Categories s,int position) {
    position = position == -1 ? getItemCount()  : position;
    mData.add(position,s);
    notifyItemInserted(position);
}

public void remove(int position){
    if (position &lt; getItemCount()  ) {
        mData.remove(position);
        notifyItemRemoved(position);
    }
}

public DrawerItemCustomAdapterForAllBooks(Context context, ArrayList&lt;Categories&gt; Categories2, int BookID) {
    this.mData = Categories2;
    this.context = context;
    this.BookID = BookID;
    custom_font = Typeface.createFromAsset(context.getAssets(), "fonts/HelveticaNeueLTArabic-Light.ttf");

}

public SimpleViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    final View view = LayoutInflater.from(context).inflate(R.layout.listview_item_row, parent, false);
    return new SimpleViewHolder(view);
}

@Override
public void onBindViewHolder(SimpleViewHolder holder, final int position) {



    if (holder != null) {


        final Categories currentItem = getItem(holder.getAdapterPosition());
        SimpleViewHolder genericViewHolder = (SimpleViewHolder) holder;
        genericViewHolder.position = holder.getAdapterPosition();
        genericViewHolder.CategoryName.setText(currentItem.getName());
        genericViewHolder.CategoryName.setTypeface(custom_font);
        genericViewHolder.CategoryName.setTag(holder.getAdapterPosition());
        genericViewHolder.itemView.setTag(holder.getAdapterPosition());


        if (currentItem.getBookID() == 1) {
            genericViewHolder.CategoryName.setTextColor(context.getResources().getColor(R.color.nokhba_white));
            genericViewHolder.itemView.setBackgroundColor(context.getResources().getColor(R.color.nokhba_darkrose));

            Picasso.with(context).load(R.drawable.list_icon_e02)
                    .error(R.drawable.no_internet)
                    .tag(context)
                    .placeholder(R.drawable.no_spic)
                    .into(genericViewHolder.CategoryImage);
        } else if (currentItem.getBookID() == 2) {
            genericViewHolder.itemView.setBackgroundColor(context.getResources().getColor(R.color.nokhba_openrose));
            genericViewHolder.CategoryName.setTextColor(context.getResources().getColor(R.color.nokhba_darkrose));
            Picasso.with(context).load(R.drawable.list_icon_08)
                    .error(R.drawable.no_internet)
                    .tag(context)
                    .placeholder(R.drawable.no_spic)
                    .into(genericViewHolder.CategoryImage);
        } else if (currentItem.getBookID() == 3) {
            genericViewHolder.CategoryName.setTextColor(context.getResources().getColor(R.color.nokhba_darkrose));
            genericViewHolder.itemView.setBackgroundColor(context.getResources().getColor(R.color.nokhba_white));
            Picasso.with(context).load(R.drawable.list_icon_08)
                    .error(R.drawable.no_internet)
                    .tag(context)
                    .placeholder(R.drawable.no_spic)
                    .into(genericViewHolder.CategoryImage);
        }
    }
  }

@Override
public int getItemCount() {
    return mData.size()-2;
}

public Categories getItem(int position) {
    return mData.get(position-1);
}

public static class SimpleViewHolder extends RecyclerView.ViewHolder {
    protected TextView CategoryName;
    protected ImageView CategoryImage;
    protected View itemView;
    int position = -1;

    public SimpleViewHolder(View itemView) {
        super(itemView);
        this.CategoryName = (TextView) itemView.findViewById(R.id.CategoryName);
        this.CategoryImage = (ImageView) itemView.findViewById(R.id.CategoryImage);
        //   CategoryName.setTypeface(custom_font);
        this.itemView = itemView;

        getAdapterPosition();

        this.CategoryName = (TextView) itemView.findViewById(R.id.CategoryName);
        this.CategoryImage = (ImageView) itemView.findViewById(R.id.CategoryImage);        }
 }

 }
</code></pre>