2011-08-18 144 views
3

是否可以在一個佈局中重複使用兩次片段?我有兩個選項卡的佈局,選項卡A和選項卡B.每個選項卡顯示一個視圖,其中包含左側項目列表(類型A或B)以及右側選定項目的詳細信息。對於這兩種類型的列表,「詳細視圖」(在右側窗格中)都是相同的,所以我希望在列表被換出時保留它,具體取決於所選擇的選項卡。在同一佈局中使用兩次片段

我試圖在佈局XML中包含兩個選項卡的詳細信息片段,但得到有關重複項的運行時錯誤。所以然後我嘗試在運行時動態添加它們,並且得到一個類似的錯誤(片段已被添加)。

是我想做的事情嗎?

+0

爲什麼不能製作兩種不同的佈局? – yoshi24

+1

我可以做到這一點..但它會是很多代碼重複。這兩個類型的列表的細節片段是相同的。這就是我想要避免的。 – mkowske

+0

使用不同的android:id爲不同的佈局小部件怎麼樣?你嘗試過嗎? – yoshi24

回答

-3

您可以創建重複的類。一個從另一個。並將第二個類重命名爲另一個名稱。

,並設置第二個佈局

class="name of second class" 

然後重命名wigdets在第二改名類是相同的,除了第一部件不同ID的使用。

+0

因此,我不得不復制類...這是我試圖避免的代碼重複。我不認爲這是可能的,儘管如此我最終走上了這條路。沒有那麼多額外的工作... – mkowske

+0

好吧,太棒了。你可以標記答案=) – yoshi24

+0

你可以複製課程。您可以使用不同的命名約定(例如變量和wigdet引用名稱)。但似乎我們已經找到了解決方案 – yoshi24

4

您應該添加fragments動態設置每個片段不同TAGs,然後用getFragmentManager().findFragmentByTag("TAG");發現他們在每個選項卡視圖,您可以添加一個FrameLayout然後用FragmentTransaction.replace功能。

我有一個類似的問題(在ViewFlipper添加相同fragment很多次),通過使用不同的標籤解決它。