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.