Как поставить галочку всегда, даже после перезапуска приложения, пока пользователь не снимет галочку в Android?

Мой вопрос прост, я хочу поставить галочку, чтобы приложение всегда закрывалось и перезапускалось. Этот процесс должен продолжаться до тех пор, пока сам пользователь не снимет галочку. Если сам пользователь снимает галочку, то должен быть снят, пока пользователь не проверит это снова в Android.

Пожалуйста, покажите мне, как я могу это сделать.

4 ответа

Решение

Используйте этот простой код......

использование SharedPreferences поддерживать состояние флажков.

Инициализация....

checkBox.setChecked(getSharedPreferences("MyAPP", Context.MODE_PRIVATE).getBoolean("checkBox", true));

OnCheckedChangeListener

checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         getSharedPreferences("MyAPP", Context.MODE_PRIVATE).edit().putBoolean("checkBox", isChecked).commit();

              }
        });

В первый раз будут установлены все флажки, и все будет работать так, как вы хотите....

Выше код только для одного флажка. Попробуйте то же самое для других флажков. Просто измените уникальный ключ для всех флажков, как я использовал здесь "флажок" в checkBox.setChecked(getSharedPreferences("MyAPP", Context.MODE_PRIVATE).getBoolean("checkBox", true));

надеюсь, что ваша работа сделана этим.....

Сохраните логический флаг в sharedPreferences или localDB для действий пользователя. И по умолчанию сохраняют значение этого флага как true. Когда пользователь нажимает флажок, обновите значение этого флага. Поэтому при каждом запуске приложения проверяйте значение этого флага, например:

if(checkBoxEnabled) {
     checkBox.setEnabled(true);
} else {
     checkBox.setEnabled(false);
}

Где вы добавили флажок в макете XML, добавить android:checked="true" для первоначальной проверки.

Добавить статус в SharedPreferences когда вы слушаете изменение стоимости. например onCheckedChanged()

SharedPreferences sp = getSharedPreferences(getPackageName(), MODE_PRIVATE);

sp.edit.putBoolean("check_status", checkBox.isChecked()).apply();

Для этого вы должны использовать SharedPreferance глобально, чтобы сохранить значение по умолчанию флажка и изменить значение внутри предпочтения onCheckChange а при просмотре загрузки установить состояние флажка в соответствии с флагом в настройках

Другие вопросы по тегам