java - RecyclerView item removal -


i trying remove specific items recyclerview list not know how approach it. cannot use notifyitemremoved method because error says method cannot used static context. can see have of event listeners in adapter's view holder because more convenient.

here code

public class cartlistadapter extends recyclerview.adapter<cartlistadapter.restaurantholder>  {       list<cartitem> cartlist;     private static string log_tag = "myrecyclerviewadapter";     private static myclicklistener myclicklistener;     static context context;      public static class restaurantholder extends recyclerview.viewholder     {         textview cartitem;         textview cartprice;         textview cartquantity;         imageview increaseicon;         imageview decreaseicon;         imageview deleteicon;         int selectedposition;         int quantity;         double price;         boolean pricestored = false;          restaurantholder(view itemview)         {             super(itemview);             cartitem = (textview)itemview.findviewbyid(r.id.cartitem);             cartprice = (textview)itemview.findviewbyid(r.id.cartitemprice);             cartquantity = (textview)itemview.findviewbyid(r.id.itemquantity);             increaseicon = (imageview)itemview.findviewbyid(r.id.increase);             decreaseicon = (imageview)itemview.findviewbyid(r.id.decrease);             deleteicon = (imageview)itemview.findviewbyid(r.id.delete);              itemview.setonclicklistener(new view.onclicklistener() {                 @override                 public void onclick(view view) {                     selectedposition = getposition();                     log.i(log_tag,"position = "+selectedposition );                 }             });              increaseicon.setonclicklistener(new view.onclicklistener() {                 @override                 public void onclick(view view) {                      if(!pricestored)                         price = double.parsedouble(cartprice.gettext().tostring());                      pricestored = true;                     quantity = integer.parseint(cartquantity.gettext().tostring()) + 1;                     cartquantity.settext(string.valueof(quantity));                      cartprice.settext(string.valueof(price * quantity));                  }             });             decreaseicon.setonclicklistener(new view.onclicklistener() {                 @override                 public void onclick(view view) {                     if(quantity > 1) {                         quantity = integer.parseint(cartquantity.gettext().tostring()) - 1;                         cartquantity.settext(string.valueof(quantity));                         cartprice.settext(string.valueof(double.parsedouble(cartprice.gettext().tostring())-price));                     }else{                         toast.maketext(context,"minimum order limit",toast.length_short).show();                     }                 }             });              deleteicon.setonclicklistener(new view.onclicklistener() {                 @override                 public void onclick(view view) {                     selectedposition = getposition();                     log.i(log_tag,"removal position = "+selectedposition );                      //remove(selectedposition);                 }             });         }     }      cartlistadapter(context context)     {         this.context = context;         cartlist = new arraylist<cartitem>();     }      public void additem(cartitem cartitem)     {          cartlist.add(cartitem);      }      public void remove(int position)     {         cartlist.remove(position);         notifyitemremoved(position);     }        @override     public void onattachedtorecyclerview(recyclerview recyclerview)     {         super.onattachedtorecyclerview(recyclerview); }      @override     public restaurantholder oncreateviewholder(viewgroup viewgroup, int i) {         view view = layoutinflater.from(viewgroup.getcontext()).inflate(r.layout.cart_item,viewgroup,false);         restaurantholder restaurantholder = new restaurantholder(view);         return restaurantholder;     }      @override     public void onbindviewholder(restaurantholder restaurantholder, int i) {          restaurantholder.cartquantity.settext(string.valueof(cartlist.get(i).quantity));         restaurantholder.cartprice.settext(string.valueof(cartlist.get(i).price));         restaurantholder.cartitem.settext(cartlist.get(i).cartitem);     }      @override     public int getitemcount() {         return cartlist.size();     }      public interface myclicklistener {         public void onitemclick(int position, view v);     } } 

i removed static holder class, working now


Comments

Popular posts from this blog

PHP DOM loadHTML() method unusual warning -

python - How to create jsonb index using GIN on SQLAlchemy? -

c# - TransactionScope not rolling back although no complete() is called -