android - Use Switch button to toggle dayNight theme -


i have implemented switch button in layout , want use android daynight theme using button, daynight theme works okay problem when ever click switch not work instantly, have change activities , works, for example if click on switch in 1 activity not until press button , move other activity , again come activity , switch state set default when ever change activity , comeback, please help

i using android studio daynight theme

below switch activity

   @override     protected void oncreate(@nullable bundle savedinstancestate) {          setcontentview(r.layout.settings_page);         daynightt = (switch)findviewbyid(r.id.daynight_switch);         daynightt.setchecked(false);         daynightt.setoncheckedchangelistener(new compoundbutton.oncheckedchangelistener() {             @override             public void oncheckedchanged(compoundbutton buttonview, boolean ischecked) {                 if (ischecked){                     appcompatdelegate.setdefaultnightmode(appcompatdelegate.mode_night_yes);                  }else{                     appcompatdelegate.setdefaultnightmode(appcompatdelegate.mode_night_no);                 }             }         });         super.oncreate(savedinstancestate);         toolbar toolbar = (toolbar) findviewbyid(r.id.toolbar);         setsupportactionbar(toolbar);         getsupportactionbar().setdisplayhomeasupenabled(true);     } } 

xml switch activity

<switch         android:id="@+id/daynight_switch"         android:layout_width="wrap_content"         android:layout_height="0dp"         android:layout_alignparentend="true"         android:layout_alignparentright="true"         android:layout_below="@+id/textview"         android:layout_margintop="58dp"         android:checked="false"         android:text="switch" /> 

i have solved switch button state change implementing onpause() , onresume () methods in activity, switch state remains same after changing activities, have implemented bundle in activity. have added after oncreate method.

updated code

 private static bundle bundle = new bundle();     @override     public void onpause() {         super.onpause();         bundle.putboolean("togglebuttonstate", daynightt.ischecked());     }     @override     public void onresume() {         super.onresume();         daynightt.setchecked(bundle.getboolean("togglebuttonstate",false));     } 

only problem left have switch activity see implementing, on in sometime.


Comments

Popular posts from this blog

javascript - Create a stacked percentage column -

Optimising Firebase database by automatically overwriting data -

javascript - Angular UI-Grid customTemplate directive causing rows to load slowly/? -