Android: onRestoreInstanceState не вызывается после пробуждения экрана (и блокировки)

У меня проблема в пользовательском представлении. Его состояние не сохраняется после того, как я выключаю экран и снова включаю.

onSaveInstanceState вызывается правильно, когда я выключаю экран, но когда я включаю экран, onRestoreInstanceState не вызывается. Я понимаю, что это потому, что активность не воссоздается, но я не знаю, что еще использовать для восстановления состояния представления.

Я думаю, мне нужно было бы сделать что-то в onStart() или onResume(), но я хочу делать это не в активности, а в представлении, потому что представление используется в нескольких действиях, и это было бы очень неудобно.

Я пробовал несколько других методов, таких как onWindowsVisibilityChanged, но безуспешно.

Какой еще метод я мог бы использовать?

Спасибо.

РЕДАКТИРОВАТЬ: Детали: то, что я хочу сохранить, - это только логическое значение, чтобы сообщить мне, включена ли кнопка или выключена, поэтому я могу изменить ее внешний вид. Я знаю, что он должен сохранить свой внешний вид без моего вмешательства, но реализация немного глючит.


person Corneliu Dascălu    schedule 17.02.2012    source источник


Ответы (1)


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

person Corneliu Dascălu    schedule 18.02.2012