android - how to save the button state recyclerview -


good days, writing android program online coupon service. creating page allows user bookmark item. after can see in bookmarks folder. problem encountering after bookmark clicked , selected specific item. when scroll selected bookmark becomes deselected state. how can prevent happening. below code

coupon.java

public class coupon {     private string company_name;     private string offer_desc;       public coupon() {      }      public coupon(string company_name, string offer_desc) {         this.company_name = company_name;         this.offer_desc = offer_desc;     }      public string getcompany_name() {         return company_name;     }      public void setcompany_name(string company_name) {         this.company_name = company_name;     }      public string getoffer_desc() {         return offer_desc;     }      public void setoffer_desc(string offer_desc) {         this.offer_desc = offer_desc;     }    } 

couponviewholder.java

public class couponviewholder extends recyclerview.viewholder{     protected textview company_name;     protected textview offer_desc;     protected likebutton star_button;     protected likebutton heart_button;      public couponviewholder(final view item){         super(item);         company_name = (textview) item.findviewbyid(r.id.company_name);         offer_desc = (textview) item.findviewbyid(r.id.offer_desc);         star_button = (likebutton) item.findviewbyid(r.id.star_button);         heart_button = (likebutton) item.findviewbyid(r.id.heart_button);     }  } 

couponadapter.java

public class couponadapter extends recyclerview.adapter<couponviewholder>{      private list<coupon> couponlist;      public couponadapter(list<coupon> couponlist) {         this.couponlist = couponlist;     }       @override     public couponviewholder oncreateviewholder(viewgroup parent, int viewtype) {         view v = layoutinflater.from(parent.getcontext())                 .inflate(r.layout.fragment_one_card, parent, false);          couponviewholder vh = new couponviewholder(v);         return vh;     }      @override     public long getitemid(int position) {         return super.getitemid(position);     }      @override     public void onbindviewholder(couponviewholder holder, int position) {         coupon coupon = couponlist.get(position);         holder.company_name.settext(coupon.getcompany_name());         holder.offer_desc.settext(coupon.getoffer_desc());         holder.heart_button.setliked(false);         holder.star_button.setliked(false);          holder.heart_button.setonlikelistener(new onlikelistener() {             @override             public void liked(likebutton likebutton) {                 notifydatasetchanged();             }              @override             public void unliked(likebutton likebutton) {                 notifydatasetchanged();             }         });      }      @override     public int getitemcount() {         return couponlist.size();     }  } 

thank you

you have save selected things on database or sharedpreferences or whatever saving method use. can create interface making action on class or activity.


Comments