我面临切换按钮状态onResume()
和onPause()
状态的问题。
Activity - A(第一个用户打开按钮)然后返回到 Activity - B,然后它会返回到 Activity - A 然后我想要切换按钮打开而不是关闭,如何在 android 中处理这种状态。
我面临切换按钮状态onResume()
和onPause()
状态的问题。
Activity - A(第一个用户打开按钮)然后返回到 Activity - B,然后它会返回到 Activity - A 然后我想要切换按钮打开而不是关闭,如何在 android 中处理这种状态。
默认情况下Activity
处理具有id
属性的组件状态。
如果不是这样,您可以使用onSaveInstanceState
andonRestoreInstanceState
手动处理组件状态:
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putBoolean("Toggle1", toggle.isChecked());
// etc.
}
并恢复状态:
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
boolean toggle1State = savedInstanceState.getBoolean("Toggle1");
toggle1.setCheched(toggle1State);
}
toggle_relative.setOnToggleChanged(new ToggleButton.OnToggleChanged() {
@Override
public void onToggle(boolean on) {
if (on == true){
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("toggle_relative", true); // value to store
editor.commit();
Toast.makeText(getContext(),"Relatives will be notified in case of accidental situation",Toast.LENGTH_LONG).show();
}else {
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("toggle_relative", false); // value to store
editor.commit();
}
}
});
@Override
public void onResume() {
super.onResume();
boolean boll_toggle_relative = preferences.getBoolean("toggle_relative", false); //default is true
if (boll_toggle_relative == true)
{
toggle_relative.setToggleOn();
}
else
{
toggle_relative.setToggleOff();
}
}