setRetainInstance не работает для ListFragment при использовании библиотеки совместимости

Я пытаюсь сохранить подкласс ListFragment при изменении ориентации, поэтому я добавил setRetainInstance (true) в конец моей функции onCreate. Я добавил метод onSaveInstanceState, чтобы добавить все данные в пакет, а затем добавил код в onActivityCreated, чтобы загрузить эти данные обратно. К сожалению, это не сработало.

Когда я добавил несколько отладочных сообщений с помощью Log.d, я обнаружил, что не только onSaveInstanceState не вызывается, но и onCreate (что в документации, кажется, не должно происходить, когда keepInstance верно). Ни у onCreate, ни у onActivityCreated нет пакетов с моими данными (что не вызывает возражений).

Я предполагаю, что это может быть проблема с библиотекой совместимости, хотя у меня нет устройства Android 3.0+, чтобы проверить это.

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

Обновление: onDestroy не вызывается, когда я меняю ориентацию (как и должно быть), поэтому кажется, что некоторые из setRetainInstance работает

5
задан rofer 2 August 2011 в 16:22
поделиться