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
Post a Comment