public class SimpleAdapter extends RecyclerView.Adapter { private final Context mContext; private List mData; public void add(String s,int position) { position = position == -1 ? getItemCount() : position; mData.add(position,s); notifyItemInserted(position); } public void remove(int position){ if (position < getItemCount() ) { mData.remove(position); notifyItemRemoved(position); } } public static class SimpleViewHolder extends RecyclerView.ViewHolder { public final TextView title; public SimpleViewHolder(View view) { super(view); title = (TextView) view.findViewById(R.id.simple_text); } } public SimpleAdapter(Context context, String[] data) { mContext = context; if (data != null) mData = new ArrayList(Arrays.asList(data)); else mData = new ArrayList(); } public SimpleViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { final View view = LayoutInflater.from(mContext).inflate(R.layout.simple_item, parent, false); return new SimpleViewHolder(view); } @Override public void onBindViewHolder(SimpleViewHolder holder, final int position) { holder.title.setText(mData.get(position)); holder.title.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(mContext,"Position ="+position,Toast.LENGTH_SHORT).show(); } }); } @Override public int getItemCount() { return mData.size(); } }