2012-02-16 38 views
2

我有一個應用程序,它有以下架構:不同的Android碎片有不同的背景嗎?

它有FragmentActivity其中包含Fragment。該片段包含TabHost,其中包含4個選項卡。每個標籤都有自己的佈局。而且我正在創建新的片段並將它們綁定到這些ayout。那麼,最後我有4個片段。

每個片段可以開始一些新的片段,因爲它是孩子。我認爲每個片段都有自己的後臺。但它似乎不是。看起來像是這些碎片的常見後臺。

我的意思是如果我選擇第一個選項卡,然後從那裏開始新的子片段,然後我選擇第二個選項卡,從那裏開始新的子片段,然後我回到第一個選項卡,然後按回退按鈕,並且它銷燬子片段從第二個選項卡,但不是從第一個選項卡。如果我再按一次按鈕,則它會成功銷燬第一個選項卡中的子片段。

好吧,我發現某種這裏同樣的問題Separate Back Stack for each tab in Android using Fragments

有人提供給每個4個片段繞到FragmentActivity,但我擔心它會花費太多的時間來修改我的所有代碼。因爲項目很快就會完成,而且我沒有太多時間進行這種大規模的重構。

也許有人可以爲我的問題提供更好的解決方案?

德米特里

回答

2

它具有FragmentActivity其中包含一個片段。該片段包含TabHost,其中包含4個選項卡。每個標籤都有自己的佈局。而且我正在創建新的片段並將它們綁定到這些ayout。那麼,最後我有4個片段。

結構應該是這樣的:

Activity託管包含4 FragmentActivities(每個選項卡)一個TabHost。每個FragmentActivity將有它自己的後臺堆棧。這應該給你你想要的結果。

如果你還沒有考慮嘗試FragmentTabsPager你可能想看看它,看看它是否適合你的需要。這也會有更好的用戶體驗。如果你想移動的東西從FragmentsActivities反之亦然

重構不應該花費太多時間。

祝你好運。

+0

TabHost主機怎麼能4個FragmentActivities。在你展示的例子中,每個Tab FragmentActivity都有一個Fragment內部類,這是插入到TabHost中的一個。我不認爲他們使用不同的後臺,而是主要的後臺。它是否正確? – ffleandro 2012-10-31 11:48:09