当打开开关时,它会保持打开状态..但是当我离开活动并回到它时......它会重新开启。我希望它保持开启或关闭,具体取决于最后按下的是什么。我已尝试过以下代码,但未解决我的问题
SwitchButton.setChecked(true);
SwitchButton.setChecked(false);
答案 0 :(得分:0)
如果要最小化活动然后返回到它,并且希望所有控件都保留其状态,那么请查看实现已保存的实例状态。这将在您最小化/最大化活动或旋转活动时保持控制值。没有数据永久保存到设备。示例代码: http://developer.android.com/training/basics/activity-lifecycle/recreating.html#SaveState
如果您要完全关闭应用程序并希望应用程序记住这些设置,请考虑使用SharedPreferences,它可用于在设备上本地保存数据。数据会一直存在,直到您的应用明确删除它或卸载应用。示例代码: http://developer.android.com/training/basics/data-storage/shared-preferences.html
答案 1 :(得分:0)
您需要做的是在您的活动中覆盖这些方法:
@Override
protected void onSaveInstanceState (Bundle outState){
super.onSaveInstanceState(outState);
outState.putBoolean("CHECKED", SwitchButton.isChecked());
}
然后在onCreate:
@Override
protected void onCreate (Bundle savedInstanceState){
super.onCreate(savedInstaceState);
if(savedInstanceState != null){
boolean isChecked = savedInstanceState.getBoolean("CHECKED");
SwitchButton.setChecked(isChecked);
}
}