View.getId() not working

Viewed 1572

I am new to android programming. I want to update the items in a card view layout of a recyclerview. This is the ListRowViewHolder for the recyclerview

public static class ListMenuRowViewHolder extends RecyclerView.ViewHolder
{
        protected NetworkImageView thumbnail;
        protected TextView itemname;
        protected TextView price;
        protected TextView itemtype;
        protected TextView quantity;
        protected ImageView add;
        protected ImageView sub;
        protected ImageView imageView;
        protected CardView item_layout;

        public ListMenuRowViewHolder(View itemView) {
            super(itemView);


            this.thumbnail=(NetworkImageView)itemView.findViewById(R.id.recom);
            this.imageView=(ImageView)itemView.findViewById(R.id.categ);
            this.itemname=(TextView)itemView.findViewById(R.id.itemvalue);
            this.add=(ImageView)itemView.findViewById(R.id.add);
            this.sub=(ImageView)itemView.findViewById(R.id.sub);
            this.price=(TextView)itemView.findViewById((R.id.price));
            this.quantity=(TextView)itemView.findViewById((R.id.quantity));
            this.item_layout=(CardView)itemView.findViewById((R.id.item_layout));
            itemView.setClickable(true);
            itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Log.e("myname", "rohit");
                    ItemscardClickListener.onClick(v, getAdapterPosition());
                }
            });

        }

    }

This is where i am trying to update quantity

 mAdapter.setItemsCardClickListener(new ItemsCardClickListener() {
                @Override
                public void onClick(View v, int position) {

                    int q;
                    switch (v.getId())
                    {
                        case R.id.add : q= Integer.parseInt(mAdapter.getmOrder().get(position).getQuantity());
                            q++;
                            Log.e("mishra", String.valueOf(q));
                            mAdapter.getmOrder().get(position).setQuantity(String.valueOf(q));
                            mAdapter.notifyDataSetChanged();
                            break;
                        case R.id.sub : q=Integer.parseInt(mAdapter.getmOrder().get(position).getQuantity());
                            if(q>0)
                                q--;
                            mAdapter.getmOrder().get(position).setQuantity(String.valueOf(q));
                            mAdapter.notifyDataSetChanged();
                            break;
                        case R.id.quantity:
                            Log.e("mishra", "hihi");
                            break;
                        default:Log.e("mishra", "hi");


                    }
                }
            });

Everytime when i am clicking on an item in the view they are clicked but i am not getting the id using v.getId(). The switch is always entering the default case. Please provide some solution.

2 Answers
Related