gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 10:56:49 25 4
gpt4 key购买 nike

我有一个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 个 fragment 当我在 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 中 2 fragment 中,但是 lm_fragment 或 pm_fragment 在哪里?谢谢!

最佳答案

这是替换方法签名

public abstract FragmentTransaction replace (int containerViewId, Fragment fragment)

您的布局中没有这样的 id android.R.id.content。问题是你正在使用静态 fragment 。但你需要动态。将两个 fragment 标签替换为 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);

关于java - 使用fragmentTransaction.replace时会替换哪个Fragment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33585780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com