2013-01-10 79 views
1

我有一個活動,它在onCreate中加載一個片段(比如Fragment1)。當用戶按下Fragment1中的一個按鈕時,我用一個新的片段替換Fragment1,比如Fragment2。問題是,在Fragment2中更改方向時,將重新創建活動並顯示Fragment1 而不是Fragment2。 (因爲我在onCreate中創建了Fragment1) 我怎樣才能堅持Fragment2並保持其方向變化的狀態?取向改變後替換的片段丟失Android

感謝

回答

2

當片段交易發生,所以你知道正在創建該片段分配一個變量。然後重寫OnSavedInstanceState並將你的變量傳遞給bundle。

然後在方向更改上,將調用onCreate,並且您可以從savedInstanceStateBundle中檢索您的變量。然後,您可以選擇哪個片段將在onCreate中「加載」。

+0

謝謝!這會讓我知道要加載哪個片段。也許我應該使用相同的技術來保留片段的內部狀態,這是否正確? – nimmi

+0

那麼..這就是我所做的。是否正確是另一回事! –