2012-04-17 38 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