因此,我正在構建一個具有兼容性庫的平板電腦應用程序,並且遇到了我似乎無法弄清楚的奇怪現象。在一項活動中,我有2個選項卡(選項卡A和選項卡B)和3個片段(片段A1,A2和B)。與選項卡A相關的ActionBar.TabListener處理添加和刪除片段A1和A2,與選項卡B關聯的ActionBar.TabListener處理添加和刪除選項卡B.到目前爲止這麼好。Android FragmentTransaction,ActionBar選項卡和多個片段
當我啓動活動時顯示奇怪的行爲(所以選擇Tab A並且從左到右正確顯示片段A1和A2)單擊Tab B(因此片段A1和A2被移除,片段B被移除顯示,仍然正確),然後點擊Tab A! 現在,片段A1和A2正在顯示,但是按照相反的順序:A2和A1!
有沒有人經歷過這種古怪?如果我再次選擇選項卡B然後再選擇選項卡A,則它們會再次反轉爲正確的順序,並且循環繼續。根據this article,「如果您將多個片段添加到同一個容器中,那麼添加它們的順序決定了它們在視圖層次結構中出現的順序」,現在看起來並不奇怪。
任何想法?提前致謝!
嗯,這是一個好主意!然後當你只想顯示一個片段時,只需隱藏(將權重設置爲0)第二個FrameLayout!我將不得不盡快嘗試(現在正在另一個項目上)。任何想法爲什麼你不認爲我們可以依靠文件說什麼?僅僅是因爲存在錯誤,或者你認爲FragmentTransactions的工作方式實際上是合乎邏輯的? –
@Shep Shapard:「任何想法爲什麼你不認爲我們可以依靠文件說的?」 - 因爲我看到的示例代碼不依賴於引用的語句。除此之外,這只是一種直覺。 – CommonsWare
是啊...在「尖端」工作變得非常討厭,因爲你處理無證的古怪左右。順便說一句,你的解決方案工作!謝謝! –