Java Android-替换第N个片段?

Java Android-替换第N个片段?,java,android,user-interface,android-fragments,Java,Android,User Interface,Android Fragments,我有一个分为两块的用户界面,一个始终相同的菜单面板,以及一个根据所选菜单项而变化的内容 要动态更改内容片段,我必须用新片段替换当前片段,如本问题所述: 问题是“当前”片段不仅仅是一个片段,而是两个:面板和内容。因此,如果我尝试替换,我假设两个片段都将被新的内容片段替换,这不是我想要的 是否有一种方法可以用移除其他现有片段(如果有的话)来替换一个特定片段?谢谢。您可以轻松地用FragmentTransaction替换方法替换单个片段。 假设要替换Framelayout中的片段,可以按如下所示执行:

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

要动态更改内容片段,我必须用新片段替换当前片段,如本问题所述:

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


是否有一种方法可以用移除其他现有片段(如果有的话)来替换一个特定片段?谢谢。

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

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

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

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

文档中说:
“替换添加到容器中的现有片段。这与调用remove(fragment)基本相同对于所有当前添加的片段,这些片段是使用相同的ContainerWebID添加的,然后使用此处给出的相同参数添加(int、Fragment、String)。“
,因此,不,它不是。