2014-02-11 4 views
0

У меня есть один фрагмент, который содержит два фрагмента внутри.Фрагмент с фрагментами внутри - сохранить состояние

Каждый фрагмент загружается некоторые имена из базы данных и отображает их в виде списка с пределом 50.

при старте мой адаптер имеет 50 элементов, когда пользователь прокручивает вниз еще 50 будет beign загружен, то адаптер с 100 элементов.

Теперь, когда я поворачиваю устройство, мои данные в адаптере испорчены, это мой вопрос, есть ли способ сохранить мое состояние childFragment? без использования разрешимого и посыльного целых 100 элементов вместе с текущей позицией?

ответ

0

Вы должны использовать функцию Fragment's setRetainInstance(boolean).

Установка

setRetainInstance(true); 

на фрагмент, содержащий дочерние фрагменты должны делать.

Определите, сохраняется ли экземпляр фрагмента в процессе повторного создания активности (например, при изменении конфигурации). Это можно использовать только с фрагментами, не входящими в задний стек. Если установлено, жизненный цикл фрагмента будет немного отличаться, когда активность воссоздан:

Understanding Fragment's setRetainInstance(boolean)

+0

Я пробовал, однако, когда я переход от первого ко второму и, прежде чем я вращался экран, данные несовместимы друг с другом. – user3274539

+0

@ user3274539 Вы пробовали настройки setRetainInstance ко всем фрагментам? –

+0

Невозможно установить RetainInstance для childFragments – user3274539

Смежные вопросы