2

我正在尝试将同一片段的多个实例添加到活动中。示例代码是

    FragmentManager fm = getSupportFragmentManager();
    Fragment fragment = fm.findFragmentById(R.id.fragment_content);

    FragmentTransaction ft = fm.beginTransaction();

    for (int x = 1; x < 5; x = x + 1) {
        Log.i("frag","x="+x);
        ft.add(R.id.fragment_content, new SpecimenFragment(),"x_"+x);           
    }

    ft.commit();

当活动运行时,只添加了一个片段实例 - 为什么?

有关信息,片段被插入到活动的 XML 布局中,代码中引用的 R.id.fragment_content 定义为:

<FrameLayout
    android:id="@+id/fragment_content"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />
4

1 回答 1

2

问题似乎是使用FrameLayout作为片段的容器。我把它改成

<LinearLayout
    android:id="@+id/fragment_content"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" />

现在它工作正常。

于 2013-03-12T22:58:09.300 回答