2011-08-18 75 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很多次),通过使用不同的标签解决它。