2012-02-16 19 views
4
TAB1   TAB2  TAB3 
    |   |   | 
FragmentA  FragmentC FragmentE 
    |    |   | 
FragmentB  FragmentD FragmentF 

我希望我的用戶界面如上所示佈置。我已經閱讀了關於片段是如何工作的,看起來我應該能夠實現一個用戶界面,該界面允許我在各個選項卡之間切換,以便每個選項卡都有一個片段,並且在片段上選擇某些內容會導致顯示另一個片段。在android中,如何在每個選項卡內創建不同的片段/活動堆棧,並保持跨越選項卡更改?

現在的問題:我看不到我如何在每個選項卡中維護不同的片段堆棧。我想要的是當使用Tab2中的後退按鈕時,能夠從fragmentD到FragmentC。切換到Tab1會顯示我FragmentB,並允許我使用BACK按鈕導航到FragmentA。 有沒有像我已經描述過的那樣有多個片段堆棧的方法?

+0

API現在支持getChildFragmentManager(),它允許片段具有子片段。 – 2014-07-11 18:35:42

回答

0

在你的SDK裏面你有APIdemos樣例...那裏你會找到示例代碼...,將它導入到項目中。創建新的,從現有的源代碼並轉到/ androisdk目錄/ samples/android-x/Apidemos然後完成

你會發現一個Java文件和不同的標籤類型的視圖,將會非常有用l學習新的意見,你可以使用

0

我的猜測是,這是可能的,如果你只是避免使用backstack和引用你的片段的標籤。例如,如果給fragmentC標籤「fragmentC」,那麼如果fragmentD可見,則可以創建一個FragmentTransaction,用fragmentC替換fragmentD。當您的轉換與您在此處佈局時定義的一樣時,後退堆棧似乎更有價值。

+0

我最終在我的設計中達成了妥協,在其中單擊不同的選項卡將導致當前選項卡完全放鬆。 – 2012-02-20 23:54:51

1

的模式應該是這樣的:

TAB1   TAB2   TAB3 
    |    |   | 
Activity 1 Activity 2 Activity 3 
    |    |   | 
FragmentA  FragmentC FragmentE 
    |    |   | 
FragmentB  FragmentD FragmentF 

你不能這樣做(據我所知雲)你正在嘗試與當前的API做。查看here瞭解更多詳情。

+0

我確實有一個活動(MainActivity),它有一個帶有選項卡的ActionBar。 – 2012-02-20 23:58:03

0

你爲什麼不打電話:

fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); 

只要點擊標籤?

相關問題