Как сохранить состояние Android CheckBox, когда пользователи выходят из приложения?

Есть ли способ, с помощью которого я могу сохранить состояние своих флажков (отмечено или не отмечено), когда пользователь выходит из приложения, чтобы я мог перезагрузить это состояние, когда приложение перезагрузилось?

@Override public void onPause() { super.onPause(); save(itemChecked); } @Override public void onResume() { super.onResume(); checkOld = load(); for (int i = 0 ; i < checkOld.length; i++) { notes.ctv.get(i).setChecked(checkOld[i]); } } @Override public void onRestart() { super.onResume(); checkOld = load(); for (int i = 0 ; i < checkOld.length; i++) { notes.ctv.get(i).setChecked(checkOld[i]); } } private void save(final boolean[] isChecked) { SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPreferences.edit(); insertState(); for(Integer i = 0; i < isChecked.length; i++) { editor.putBoolean(i.toString(), isChecked[i]); } editor.commit(); } private boolean[] load() { SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE); boolean [] reChecked = new boolean[itemChecked.length]; for(Integer i = 0; i < itemChecked.length; i++) { reChecked[i] = sharedPreferences.getBoolean(i.toString(), false); } return reChecked; } 

Solutions Collecting From Web of "Как сохранить состояние Android CheckBox, когда пользователи выходят из приложения?"

Комбинируйте onPause() и onResume() чтобы сохранить и загрузить значение CheckBox .

Образец кода:

 @Override public void onPause() { super.onPause(); save(mCheckBox.isChecked()); } @Override public void onResume() { super.onResume(); mCheckBox.setChecked(load()); } private void save(final boolean isChecked) { SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putBoolean("check", isChecked); editor.commit(); } private boolean load() { SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE); return sharedPreferences.getBoolean("check", false); } 

Я считаю, что в учебнике google notepad3 рассказывается о сохранении и восстановлении состояния http://developer.android.com/resources/tutorials/notepad/notepad-ex3.html

Сохраните пакет состояния в onSaveInstanceState (), затем верните связку в onStart ()

надеюсь, это поможет

Изменить: также проверьте этот, более краткий. OnSaveInstanceState () и onRestoreInstanceState ()