我開發使用的ActionBar導航的應用程序,我有3個標籤(我不使用tabhost)作爲圖像下方:Android的動作條標籤:每個選項卡的內容被重建,每次我該選項卡上單擊
在第一個標籤,一個名爲FragmentListItem片段將被示出,如果我點擊項目1,FragmentListItem將由命名FragmentItemDetails另一個片段,其示出了所選擇的項目的細節來代替。
我的問題是,當我選擇TAB2或Tab 3,然後我再重新選擇TAB1,我所得到的是不是FragmentItemDetail了,它是FragmentListItem代替。
那麼,爲什麼呢?如果我想FragmentItemDetail仍然存在,而不是FragmentListItem,該怎麼做?此外,當我按Back按鈕(當選擇Tab1時),我想要FragmentListItem將再次顯示。我意識到Fragment
類沒有onBackPressed
方法來實現。
getChildFragmentManager之後的下一步是什麼? 其實我正在用你的第二個解決方案做同樣的任務,但它還沒有工作。 –
如果每個選項卡都有自己的BackStack,則不必搜索BackStack中的最後一個片段( - >因爲您只有一個BackStack)。 BackStak的最後一個片段將自動顯示。你如何在第二個解決方案中「展示」片段?嘗試'替換'片段。 – owe
在tab1中,我有一個名爲「Frag1」的「父片段」,並且在第一次選擇它時,我使用類FragmentTransition的方法'replace'來顯示** FragmentListItem **,並在'onItemClick' ** FragmentListItem **,我顯示** FragmentItemDetails **(使用方法'替換')。 稍後,無論何時點擊Tab1,我都會檢查一個變量'tab1CurrentFragment'來確定將顯示哪個片段。 然而,呃,它不起作用,並且每當選擇Tab1時,它似乎重新創建其內部的每個東西,並始終顯示** FragmentListItem **。 (對不起,我的英文很不好) –