2011-10-24 212 views
12

我正在構建需要選項卡的應用程序,現在已棄用。開發指南說使用Fragments來代替標籤。但是,我的應用程序需要在每個選項卡中包含片段,這意味着片段內部的片段,這是不允許的。有沒有人知道可能的解決方法?片段選項卡內的片段

回答

3

儘管選項卡的操作欄支持旨在使選項卡的內容容易成爲片段,但這不是嚴格要求。您可以使用ViewFlipper,重複呼叫setContentView(),或者在選擇操作欄選項卡時安排更改其他內容。

在本機操作欄(Android 1.x/2.x)之前,可以使用經典的選項卡,或使用類似Action Bar Sherlock的東西來獲取操作欄和選項卡。

+0

每次選項卡更改時,使用ViewFlipper會比調用setContentView更高效嗎?它是相反的還是差異可以忽略不計? –

+1

@TJThind:如果你自己膨脹佈局並將它們提供給'setContentView()',而不是給出'setContentView()'佈局ID,'setContentView()'和'ViewFlipper'將等價於速度和內存 - 明智的。使用資源ID調用'setContentView()'的方式會比較慢(每次都會膨脹,並且每次都必須連接事件監聽器),但會佔用較少的堆(下一個'setContentView ()'可能會被垃圾回收,如果正確的話)。 – CommonsWare

1

我通過在頂部包含多個切換按鈕的「選項卡」片段僞造製表符。在這之下,我有一個合併視圖,其中包含每個選項卡的單獨片段。 我通過切換其他按鈕「關閉」來響應切換按鈕上的輕按,顯示該「標籤」的片段,並隱藏其他按鈕。

+0

你能解釋一下你的意思是合併視圖嗎? – Lance

+0

http://developer.android.com/resources/articles/layout-tricks-merge.html – goto10

+0

是否有可能你可以告訴我一些示例代碼,特別是一個XML佈局文件?我很難掌握如何做到這一點。 – Lance

0

較晚一點,但是是你可以:)這裏是一個example 但對於內部的標籤裏面片段片段是不是Android原生的方式,你有,如果你想顯示片段的細節開始新fragmentActivity。你可以但不是一個Android的方式!