package com.amaze.filemanager.adapters; import android.support.v7.widget.RecyclerView; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; /** * Created by Arpit on 13-04-2015. */ public abstract class RecyclerArrayAdapter<M, VH extends RecyclerView.ViewHolder> extends RecyclerView.Adapter<VH> { private ArrayList<M> items = new ArrayList<>(); protected RecyclerArrayAdapter() { setHasStableIds(true); } public void add(M object) { items.add(object); notifyDataSetChanged(); } public void add(int index, M object) { items.add(index, object); notifyDataSetChanged(); } protected void addAll(Collection<? extends M> collection) { if (collection != null) { items.addAll(collection); notifyDataSetChanged(); } } public void addAll(M... items) { addAll(Arrays.asList(items)); } public void clear() { items.clear(); notifyDataSetChanged(); } public void remove(M object) { items.remove(object); notifyDataSetChanged(); } public M getItem(int position) { return items.get(position); } @Override public long getItemId(int position) { return position; } @Override public int getItemCount() { return items.size(); } }