0

タイトルからわかるように、2 つの同じフラグメントを同じコンテナーに追加しようとしています。フラグメントを追加するためにfragmenttransactionを使用しています。最初は機能しますが、2 番目のフラグメントを追加しようとすると、フラグメントが置き換えられます。

これが私の追加コードです:

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>

また、fill_parentは非推奨であるため、残りのレイアウトでは「fill_parent」の値を「match_parent」に置き換えます。

于 2013-01-01T19:16:05.553 に答える