Android - 取代第N个片段?

时间:2015-03-04 16:58:31

标签: java android user-interface android-fragments

我的用户界面分为两个区块,一个菜单面板始终相同,内容根据所选的菜单项而变化。

要动态更改内容片段,我必须用新的片段替换当前片段,如此SO问题中所述:Replacing a fragment with another fragment inside activity group

问题是“当前”片段不仅是一个片段,而且是两个:面板和内容。因此,如果我尝试替换我假设两个片段将被新的内容片段替换,这不是我想要的。

有没有办法用去除其他现有片段替换一个特定片段,如果有的话?谢谢。

2 个答案:

答案 0 :(得分:0)

您可以使用FragmentTransaction#replace方法轻松替换单个片段。 假设您要替换Framelayout中的片段,可以按如下所示进行:

getFragmentManager().beginTransaction()
                    .replace(R.id.container, newFragment, null).commit();

这里R.id.container是FrameLayout的id,newFragment是你要放在布局中的片段。

答案 1 :(得分:0)

我猜你必须在内容块中有两个片段。对于第一个片段,您将设置权重为1,以便它占据整个内容块,除非您希望块中的第二个片段可见。您将设置内容块中第二个片段的可见性为“消失”,如果您只想要一个片段可见,或者给它一些重量或布局宽度和布局高度,使两个片段都可见。