0

正如您在标题中看到的那样,我正在尝试将 2 个相同的片段添加到同一个容器中。我正在使用 fragmentransaction 添加我的片段。它第一次工作,但是当我尝试添加第二个片段时,片段被替换。

这是我的添加代码:

public void addNewCategoryFragment(Category c) {
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager
        .beginTransaction();
CategoryFragment categoryFragment = new CategoryFragment(c.name);
fragmentTransaction.add(R.id.fragment_root, categoryFragment, String.valueOf(c.getID()));
fragmentTransaction.commit();
}

这是我试图将片段添加到的 xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:background="@drawable/school"
     android:orientation="vertical"
     tools:context=".MainActivity" >

<LinearLayout
    android:id="@+id/fragment_root"
    android:layout_width="match_parent"
    android:layout_height="413dp"
    android:orientation="vertical" >
</LinearLayout>

<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<Button
    android:id="@+id/submit_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|right"
    android:text="Submit" />

<Button
    android:id="@+id/new_category_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|left"
    android:onClick="createNewCategory"
    android:text="New Category" />
</FrameLayout>
4

1 回答 1

0

乍一看,java 看起来不错,可能是布局。在不知道片段布局的情况下很难说,但我猜它只是被掩盖了。尝试在它们周围放置一个 ScrollView 或将 isScrollContainer 设置为 true,如下所示:

<LinearLayout
  android:id="@+id/fragment_root"
  android:layout_width="match_parent"
  android:layout_height="413dp"
  android:orientation="vertical"
  android:isScrollContainer="true">
</LinearLayout>

我还会在布局的其余部分用“match_parent”替换“fill_parent”值,因为不推荐使用 fill_parent

于 2013-01-01T19:16:05.553 回答