在我的应用程序中,我具有以下架构:
MainActivity
|_ FirstFragment
| |_ GridFragment
| |_ MapFragment
|
|_ SecondFragment
|
|_ ThirdFragment
请注意:
MainActivity
正在使用ActionBarSherlock
和SlidingMenu
。SlidingMenu
FirstFragment
在片段 ( ,SecondFragment
,ThirdFragment
)之间切换。FirstFragment
在操作栏中创建一个按钮以在网格和地图模式之间切换。这是,在其亚片段之间切换。
我想要达到的目标
我需要片段在它们之间切换时需要保持其状态。也就是说,如果我在FirstFragment
然后选择地图模式(显示MapFragment
子片段),然后从幻灯片菜单中选择另一个选项并返回,我应该再次看到地图。现在,当从幻灯片菜单中选择其部分时,它正在重置每个片段。
这并不奇怪,因为目前我在new FirstFragment()
按下菜单选项时提交事务。
但是,我首先尝试将每个片段的引用引用到他的父级中。例如,MainActivity
有三个片段成员,在提交事务时,检查先前是否存在并在必要时实例化。这一直很好,直到我添加了第二级片段,然后它在提交事务时开始抛出异常(说活动被破坏了)。
您可能已经注意到,我远不是 Android 专家,需要一些关于这个主题的指导。
如何在不为每个片段状态提供参考的情况下保留片段状态?