4

我正在啓動一個新應用程序,需要有一組製表符。在每個標籤中,我需要多個屏幕,每個屏幕都有自己的背面堆疊(客戶端需要)。這裏是我的意思快速圖:製表符,活動和嵌套片段

Tab 1 
    | 
    |_Screen1a --> Screen1b --> Screen1c 
Tab 2 
    | 
    |_Screen2a -->Screen2b 
Tab 3 
    | 
    |_Screen3a --> Screen3b --> Screen3c --> Screen3d 
...etc 

現在,我已經使用FragmentActivity作爲標籤主機活動這樣做過。每個選項卡是一個FragmentActivity,容納每個片段。由是,我的意思是以下幾點:

FragmentActivity 
    FragmentActivity1 
     | 
     |_Fragment1 --> Fragment2 --> Fragment3 
    FragmentActivity2 
     | 
     |_Fragment4 --> Fragment5 
    FragmentActivity3 
     | 
     |_Fragment6 --> Fragment7 --> Fragment8 --> Fragment9 
    ...etc 

現在,隨着4.2 SDK的發佈和支持庫的全新改版,有嵌套的片段。這允許你在另一個片段內放置一個片段(我假設你可以繼續嵌套,但還沒有測試過)。我正在考慮切換到使用嵌套片段,因爲我目前在我的Tab主機活動中使用了不推薦的方法。從本質上講,我將通過一個主機活動將我的應用程序的整個流程以碎片形式實現。

在性能問題或內存問題等方面是否存在這樣的問題?還是應該使用我之前完成的實現並使用已棄用的方法?

+0

你是如何做到這一點使用片段早些時候?我的意思是,我們目前正處於類似的情況來實現this.I嘗試使用新的支持庫沒有太多luck.Currently我有一個片段,每一個在我tabs.What我需要爲喜歡,我想only.Did您維護自己的堆棧中每個選項卡?如果您有任何信息,請分享 – drooooooid

+0

我沒有實際使用的片段作爲標籤內容的特定選項卡內導航。我使用FragmentActivity作爲標籤內容。這允許每個FragmentActivity管理後臺堆棧,因此您不必手動執行。 – ariets

+2

好的,謝謝,我在沒有使用Activity組/ Fragmetn活動的情況下使用了Fragments。堆棧中的管理是由FragmentManagers addToBackStack/popBackstack methods.I開展覺得會採用新修訂的支持庫though.Wish有人提供一個適當/ STRONG文檔是很多更容易去嵌套fragmetns。 – drooooooid

回答

1

嵌套片段可以幫助解決您的問題,我試過這個實現。但不要將子Activity(intent)添加到TabHost的TabSpec中。所有兒童活動都應該用碎片代替。 但在我的選擇中,我不認爲這個實現是好的。由於Android具有後退鍵,因此導航會有點有線。按下回車鍵通常會將用戶返回到上一個屏幕。但這個標籤的東西會弄亂後面的導航。