如何使用FragmentManager在FrameLayout中显示片段A,B,C …?

亲爱的StackOverflow的人,

我目前在我的Android应用程序中有一个大问题。

我为所有的活动使用Fragments,我在这里阅读所有的文档: http : //developer.android.com/guide/topics/fundamentals/fragments.html

我的应用程序在手机和平​​板电脑上的performance非常酷。

我的问题:

我有一个布局显示一个FrameLayout中包含的碎片(见底部的截图)

所以,这是片段A的屏幕截图。

现在,我想单击左键时,要用碎片B,或C或…replace碎片A

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent"> <fragment android:name="com.stackoverflow.question.FRAGMENT_A" android:id="@+id/list" android:layout_weight="1" android:layout_width="0dp" android:layout_height="match_parent" /> </FrameLayout> 

正如你可以在我的xml中看到的,FRAGMENT_A是硬编码的。

想象一下,我想切换6个不同的片段,我做了什么? 把我所有的6片段放在XML中,或者有一种方法来用FRAGMENT_B,C,D,E等编程replaceFRAGMENT_A。

非常感谢您的帮助。

在这里输入图像说明

使用FragmentTransaction来replace片段。

你可以用编程的方式来replace碎片。

 FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); FragmentB fb = new FragmentB(); ft.replace(R.id.list, fb); ft.addToBackStack("replacingFragmentA"); ft.commit(); 

添加回栈是可选的。