public class AdapterGameOne extends RecyclerView.Adapter { private ArrayList list; private Context context; private TableOneVH tableOneVH; public AdapterGameOne(ArrayList list, Context context) { this.list = list; this.context = context; } @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { return new TableOneVH(LayoutInflater.from(parent.getContext()) .inflate(R.layout.item_first_game, parent, false)); } @Override public void onBindViewHolder(@NonNull final RecyclerView.ViewHolder holder, int position) { tableOneVH=(TableOneVH)holder; TableOne tableOne=list.get(position); tableOneVH.textView.setText(tableOne.getName()); tableOneVH.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { tableOneVH.itemView.showContextMenu(); } }); } @Override public int getItemCount() { return list.size(); } public class TableOneVH extends RecyclerView.ViewHolder implements View.OnCreateContextMenuListener { TextView textView; RelativeLayout layout; public TableOneVH(View itemView) { super(itemView); layout=itemView.findViewById(R.id.rel); textView=itemView.findViewById(R.id.tvForFirstGame); itemView.setOnCreateContextMenuListener(this); } private final MenuItem.OnMenuItemClickListener onEditMenu = new MenuItem.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { switch (item.getItemId()) { case 1: TableOneVH tableOneVH=new TableOneVH(itemView); tableOneVH.itemView.setBackground(ContextCompat.getDrawable(context, R.color.grey)); Toast.makeText(context,"adapterPosition= " +getAdapterPosition(),Toast.LENGTH_LONG).show(); break; } return true; } }; @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { MenuItem Grey = menu.add(Menu.NONE, 1, 1, "Grey"); Grey.setOnMenuItemClickListener(onEditMenu); } } }