2014-06-15 3 views
0

Я использую ArrayList, который, ну, содержит фрагменты. Мне нужно сохранить фрагменты, которые находятся внутри этого arraylist во время изменения ориентации.Сохранение ArrayList <Fragment> во время ориентацииChange

Если в arraylist были объекты пользовательского типа, такие как ArrayList, которые я определяю сам, я мог бы сделать «ComplexDatadype» реализовать Parceable и сохранить его в onSaveInstanceState.

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

+0

Управление фрагментами осуществляется «FragmentManager»? IOW, вы уже использовали 'FragmentTransaction' на этих фрагментах? – CommonsWare

+0

Они используются в FragmentPagerAdapter (я использую viewpager), но я хотел бы знать, есть ли способ сохранить их без использования каких-либо менеджеров. – deimos1988

ответ

0

Они используются в FragmentPagerAdapter (я использую viewpager), но я хотел бы знать, есть ли способ сохранить их без использования каких-либо менеджеров.

Если фрагменты находятся в FragmentManager, то FragmentManager будет управлять своим состоянием уже. В этом случае вам не нужно сохранять состояние фрагментов - вам нужно сохранить состояние ArrayList, чтобы вы могли восстановить его ArrayList через findFragmentByTag() или его эквивалент.

Если фрагменты не в FragmentManager, вам придется играть эту роль себя, задавая эти фрагменты, чтобы сохранить свое состояние экземпляра к их собственному Fragment.SavedState, и вы договоритесь, чтобы получить эти Fragment.SavedState экземпляры в целом верхнего уровня сохраненного состояние экземпляра Bundle.

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

  • Нет связанных вопросов^_^