gpt4 book ai didi

android - 以编程方式添加多个 fragment

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:02:38 26 4
gpt4 key购买 nike

我正在使用 Fragment 事务将两个 fragment 添加到一个 Activity 中。但是碰巧应用程序启动时只显示第一个 fragment 。这是代码:

主要 Activity

    @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

FragOne firstButton = new FragOne();
FragmentTwo secButton = new FragmentTwo();

FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

transaction.add(R.id.frag_container, firstButton);
transaction.add(R.id.frag_container, secButton);

transaction.commit();
}

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:id="@+id/frag_container"
android:layout_height="fill_parent"
android:orientation="horizontal">

</LinearLayout>

frag_one.xml 和 frag_two.xml 相似

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button One" />
</LinearLayout>

所以我不确定可能是什么问题......我看到了很多添加一个 fragment 的例子。

最佳答案

我知道现在回答为时已晚,但我已经弄清楚了问题所在。你的 frag_one.xml 和 frag_two.xml 看起来像:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button One" />
</LinearLayout>

观察 LinearLayout 将 layout_height 设置为 match_parent。它不会占据整个屏幕吗?

只需将其设为 wrap_content 即可。刚刚解决了我的案例,这与您的案例相同。

关于android - 以编程方式添加多个 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14549092/

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