java - Change Floating Action Button Background -


i using floating action button , image changes when clicked. have flag , store in shared preferences. when true icon becomes like.png, when false icon becomes dislike.png.

i want change icon according flag variable when app starts icon default true.png

how can set icon via shared preferences?

public class readactivity extends appcompatactivity {  private floatingactionbutton fab; private boolean flag;  @override protected void oncreate(bundle savedinstancestate) {      super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_read);      fab = (floatingactionbutton) findviewbyid(r.id.fab);      getrate(getwindow().getdecorview().getrootview());      if(flag==false){         fab.setimageresource(r.drawable.like);     }      else if(flag==true){        fab.setimageresource(r.drawable.dislike);     }      fab.setonclicklistener(new view.onclicklistener() {          @override         public void onclick(view v) {              getrate(v);              if(flag==false) {                 rateup();                 snackbar.make(v, "vote +1", snackbar.length_long).show();                 saverate(v, true);                 fab.setimageresource(r.drawable.dislike);             }              else if(flag==true){                 ratedown();                 snackbar.make(v, "vote -1", snackbar.length_long).show();                 saverate(v, false);                 fab.setimageresource(r.drawable.like);              }         }     });   }  public void rateup() {}; public void ratedown() {};    public void saverate(view view, boolean flag){     sharedpreferences sharedpreferences = getsharedpreferences("rates", mode_private);     sharedpreferences.editor editor = sharedpreferences.edit();     editor.putboolean(id, flag);     editor.commit(); }  public void getrate(view view){     sharedpreferences sharedpreferences = getsharedpreferences("rates", mode_private);      flag = sharedpreferences.getboolean(id, false);  }   } 

try code :

public class readactivity extends appcompatactivity {  private floatingactionbutton fab; private string getsharedpreferencesid="getsharedpreferencesid"; @override protected void oncreate(bundle savedinstancestate) {      super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_read);      fab = (floatingactionbutton) findviewbyid(r.id.fab);      boolean flag=getrate();      if(flag==false){         fab.setimageresource(r.drawable.like);     }      else if(flag==true){        fab.setimageresource(r.drawable.dislike);     }      fab.setonclicklistener(new view.onclicklistener() {          @override         public void onclick(view v) {              boolean flag=getrate();              if(flag==false) {                 rateup();                 snackbar.make(v, "vote +1", snackbar.length_long).show();                 saverate(true);                 fab.setimageresource(r.drawable.dislike);             }              else if(flag==true){                 ratedown();                 snackbar.make(v, "vote -1", snackbar.length_long).show();                 saverate(false);                 fab.setimageresource(r.drawable.like);              }         }     });   }  public void rateup() {}; public void ratedown() {};    public void saverate(boolean flag){     sharedpreferences sharedpreferences = getsharedpreferences("rates", mode_private);     sharedpreferences.editor editor = sharedpreferences.edit();     editor.putboolean(getsharedpreferencesid, flag);     editor.commit(); }  public boolean getrate(){     sharedpreferences sharedpreferences = getsharedpreferences("rates", mode_private);     flag = sharedpreferences.getboolean(getsharedpreferencesid, false); }   } 

Comments

Popular posts from this blog

php - How to display all orders for a single product showing the most recent first? Woocommerce -

asp.net - How to correctly use QUERY_STRING in ISAPI rewrite? -

angularjs - How restrict admin panel using in backend laravel and admin panel on angular? -