Android - дочерняя активность обновляет базу данных на onDestroy и родительские чтения на onResume - PullRequest
1 голос
/ 12 марта 2012

У меня есть 2 занятия A-> B. A - родительская активность, а B - «настройки». В B пользователь делает некоторые выборы, которые обновляют базу данных приложения. A должен прочитать базу данных, чтобы установить некоторые текстовые представления в соответствии с этим.

То, что я думал, будет работать так: в B пользователь устанавливает свой выбор (используя несколько кнопок-переключателей), а в функции onDestroy состояние кнопок читается, а база данных обновляется (у меня нет) кнопка отправки изменений ", поэтому я использую на Дестрой). Затем в функции onResume A я вызываю подпрограмму, которая читает БД и обновляет поля.

Проблема в том, что изменения не видны в A. Но если я снова вернусь к B и вернусь к A без каких-либо новых изменений, то изменения будут видны и корректны.

Так что же не так и что нужно сделать? Я могу использовать фиктивную активность между A и B, и это может сработать, но я не знаю, хорошая ли это реализация .. Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 12 марта 2012

Если вы не хотите реализовывать кнопку отправки, вам лучше обновить базу данных в onPause() вместо onDestroy().

@Override
    protected void onPause() {
        super.onPause();    
            if (isFinishing()) {
                //Database updates here
            }
        }
    }
1 голос
/ 12 марта 2012

Попробуйте вместо onDestroy() метод, например onPause() или onStop() метод.И посмотрите на это:

enter image description here

...