Сохранение состояния ImageViews при закрытии приложения - PullRequest
0 голосов
/ 04 августа 2020

У меня есть приложение с таким действием: https://i.stack.imgur.com/hybAT.png (это 10 ImageView, когда вы нажимаете go до этого уровня)

Когда начинается это действие , У меня есть этот массив логических значений (когда я завершаю уровень, один элемент этого массива изменяется на true)

    boolean[] nivelSuperado = {false, false, false, false, false, false, false, false, false, false};

и это для l oop в onCreate:

for (int i = 0; i < nivelSuperado.length; i++) {
        if (nivelSuperado[i]) botones[i].setBackground(getDrawable(R.drawable.nivel_superado));
    }

Это работает, и ImageView уровня меняется на другой ImageView с зеленым фоном. Но когда я закрываю это приложение и открываю его в следующий раз, никаких зеленых ImageViews нет. Я пробовал использовать onPause, onResume и onSaveInstancedState, но не могу заставить его работать.

1 Ответ

1 голос
/ 04 августа 2020

После закрытия приложения все значения переменных будут удалены ОС. Поэтому в следующий раз, когда вы откроете приложение, все они будут иметь значение по умолчанию (или значение, которое вы назначаете им в своем коде). Не то значение, которое вы установили в прошлый раз.

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

вы также можете попробовать создайте базу данных для хранения значения вашего Здесь вы можете найти дополнительную информацию о том, какой тип хранилища данных соответствует вашим требованиям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...