使用fragmentTransaction.replace时会替换哪个Fragment?

Which Fragment will be replaced when use fragmentTransaction.replace?

我有一个 activity_main.xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="[URL]http://schemas.android.com/apk/res/android[/URL]"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal">

 <fragment
android:name="fragments"
android:id="@+id/lm_fragment"
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_width="0dp"/>

 <fragment
android:name="fragments"
android:id="@+id/pm_fragment"
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_weight="2"/>

</LinearLayout>

所以我的 Activity 中有 2 个片段 当我在 android.R.id.content 中添加一个 Fragment 时,将添加哪个 Fragment? 我的 Mainactivity.java:

if(config.orientation == Configuration.ORIENTATION_LANDSCAPE){
 LM_Fragment lm_Fragment = new LM_Fragment();
 fragmentTransaction.replace(android.R.id.content, lm_Fragment);
 }else{
 PM_Fragment pm_Fragment = new PM_Fragment();
 fragmentTransaction.replace(android.R.id.content, pm_Fragment);
 }

 fragmentTransaction.commit();
 }

LM_Fragment 和 PM_Fragment 用于横向模式和纵向模式。当我使用 fragmentTransaction.replace(android.R.id.content, lm_Fragment); 它将添加到我在 xml 中指定的 1 in 2 片段中,但是 lm_fragment 或 pm_fragment 在哪里?谢谢!

这里是替换方法签名

public abstract FragmentTransaction replace (int containerViewId, Fragment fragment)

您的布局中没有这样的 ID android.R.id.content。 问题是您使用的是静态片段。但是你需要动态。用 id=android.R.id.content 的单个 FrameLayout 替换两个片段标签。或者更好地使用您自己的 ID。例如。 "fragment_container",然后调用

fragmentTransaction.replace(R.id.fragment_container, lm_Fragment);

fragmentTransaction.replace(R.id.fragment_container, pm_Fragment);