我正在尝试使用片段构建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();
}
如果您需要任何其他信息,请告知我们,并提前感谢您的帮助。
答案 0 :(得分:8)
如果要动态更改片段,则无法在布局中声明它们。 Fragment documentation有一个例子,就是我认为你正在描述的内容,其中布局中有一个静态片段以及一个FrameLayout,用于保存将被动态添加和替换的片段。