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