состояние активности после startActivityForResult - PullRequest
0 голосов
/ 20 февраля 2012

В android documentantion сказано это:

... когда действие приостановлено или остановлено, состояние действия сохраняется. Это правда, потому что объект Activity все еще находится в память, когда она приостановлена ​​или остановлена ​​- вся информация о ее членах и текущее состояние все еще живо. Таким образом, любые изменения, сделанные пользователем в рамках деятельности сохраняются, так что когда активность возвращается к на переднем плане (когда он «возобновляет»), эти изменения все еще там.

Но в моей деятельности, когда я возвращаюсь из другой деятельности, расширяемый список сбрасывается (все расширенные группы свернуты). Данные не изменяются, а адаптер и курсор не уведомляются или не запрашиваются. Я проверял, что метод обратного вызова onDestroy никогда не вызывается, только onPause и onStop.

Я выхожу из действия с помощью startActivityForResult и возвращаюсь с использованием finish ().

Пожалуйста, почему я теряю государство? Спасибо.

1 Ответ

0 голосов
/ 20 февраля 2012

Много раз, когда вы используете startActivityForResult, вы теряете свое состояние. Вам нужно сохранить все необходимые данные, переопределив onSaveInstanceState и добавив данные в Bundle. Также переопределите onRestoreInstanceState для обработки, когда вы вернетесь и должны восстановить ваши данные. Так что в вашем случае вы можете добавить в Bundle, какие части расширяемого списка расширяются, чтобы вы могли развернуть их снова, когда вернетесь.

...