2012-04-17 36 views
1

我看了一些像这样的问题,但我不明白我应该怎么做在我的hiearchy?Android的片段重叠后,旋转屏幕

<fragment 
     android:id="@+id/tabs" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     class="com.****.****.ui.TabsFragment" /> 

的标签菜单在屏幕上的底部

<FrameLayout 
     android:id="@+id/details" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_above="@+id/tickerLL" 
     android:layout_below="@id/header" 
     android:background="@drawable/background" /> 

其他的意志创造了碎片。

我有9个选项卡菜单,每个人都是一个片段。

一些片段的景观是另一种活动。我旋转手机,碎片运行良好。但如果我快速旋转后,我的片段Activty,TabsFragment和其他创建的片段被重新创建,我的片段重叠。

我在TabsFragment中管理我的片段。他们动态地工作,我的抽象片段类,有一个以前的片段和子片段。当我按回时,前一个片段关闭其子片段并将其归零。

我应该怎么办?

回答

2

在配置更改期间,Android会恢复或重新创建旧活动在设置新活动时具有的所有片段。因此,在使用新的活动实例时,您需要考虑到这一点 - 不要以为您是从一个干净的石板开始的。

+0

我该怎么办?我的所有片段都创建在tabsFragment ... – atasoyh 2012-04-17 14:29:02

+0

@CommonsWare:你知道如何从清理状态开始,如你在使用片段时所说的? – 2014-03-19 07:38:43

+1

@AlexTran:我想你可以运行一些'FragmentTransaction'来清除所有旧的,如果它们是通过他们自己的事务添加的。 – CommonsWare 2014-03-19 11:28:17