Использование compat lib v1 (не используя v2 | 3 из-за определенных ошибок); вариант этот вопрос.
У меня есть фрагмент, пользовательский интерфейс которого имеет различные элементы управления, состояние которых я хочу поддерживать при изменении ориентации.
Родительская активность уничтожается при изменении ориентации (ПОЖАЛУЙСТА, не говорите мне о манифестных изменениях, чтобы избежать активного отдыха!!!!).
Фрагмент вызывает setRetainInstance(true)
.
1) Теперь я понимаю, что представления с уникальными идентификаторами должны сохранять некоторое состояние, скажем, изменение ориентации. Учитывая это, я бы ожидал, что ненулевой пучок в onCreateView|onActivityCreated
, но он будет равен нулю.
2) В любом случае, если я сохраняю состояние в onSaveInstanceState
(гарантируя, что я вызываю super), я все равно получаю нулевой пакет в 'onCreateView | onActivityCreated`
3) Если я не вызываю setRetainInstance(true)
, тогда я получаю ненулевой пучок в onCreateView|onActivityCreated
, даже если у меня нет метода `onSaveInstanceState '.
Вопросы, которые у меня есть, это работает как ожидалось, и мое понимание жизненного цикла нарушено? Несмотря на это, я предполагаю, что лучшим способом для меня было бы сохранить фрагмент, а затем сохранить состояние элементов управления внутри фрагмента.
Спасибо заранее. Питер.