Android片段无法正常替换

时间:2012-03-03 05:28:20

标签: android android-fragments fragment

我正在尝试使用片段构建3.0的应用程序。在应用程序的左侧有一个静态片段,在右侧有一个动态片段。动态部分中的每个片段都有一个标题。每当我去替换初始片段时,第一个的标题仍然显示在第一个标题的上方。连续替换取代了下半部分,但仍显示初始标题(抱歉,我还不能发布图像)。

我能为图像做的最好:

初始标题

新标题

内容(显示正常)

main.xml中:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >
    <fragment
        android:id="@+id/static_fragment"
        android:name="ruleout.android.History_Fragment"
        android:layout_width="500dp"
        android:layout_height="match_parent" />
    <fragment
        android:id="@+id/dynamic_fragment"
        android:name="ruleout.android.New_Screen_Fragment"
        android:layout_width="fill_parent"
        android:layout_height="match_parent" />
</LinearLayout>

用于更改片段的部分MainActivity

private void open(Fragment toShow)
{
    FragmentTransaction fragmentTransaction = FragMag.beginTransaction();
    fragmentTransaction.replace(R.id.dynamic_fragment, toShow);
    fragmentTransaction.addToBackStack(null);
    fragmentTransaction.commit();
}

如果您需要任何其他信息,请告知我们,并提前感谢您的帮助。

1 个答案:

答案 0 :(得分:8)

如果要动态更改片段,则无法在布局中声明它们。 Fragment documentation有一个例子,就是我认为你正在描述的内容,其中布局中有一个静态片段以及一个FrameLayout,用于保存将被动态添加和替换的片段。