如何以编程方式将循环中的片段添加到单个活动中?

时间:2017-01-13 02:24:35

标签: android android-layout android-fragments android-activity android-view

由于我不知道我需要多少视图,因此我必须动态创建它们。基于我的研究,每个片段必须有一个容器,他们不能共享(纠正我,如果我错了),所以我需要动态创建每个片段的视图容器,然后我可以这样:

for(int i = 0; i < size ; i ++) {
final FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.disallowAddToBackStack();
ft.add(new ABCFragment(), TAG).commit();
}

有谁知道我怎么能让这个工作?我还是新手。 感谢!!!!

1 个答案:

答案 0 :(得分:0)

在xml中定义它,它将作为容器: -

<RelativeLayout
        android:visibility="gone"
        android:id="@+id/R.id.container_fragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/transparents"/>

要获得动态数量的片段,请为其定义不同的标记名称: -

for (int i=0;i<size;i++){
            FragmentManager fm = getFragmentManager();
            FragmentTransaction ft = fm.beginTransaction();
            ft.add(R.id.container_fragment, new DetailFragment(), tag.get(i));

            ft.commit();
        }

您可以在tag.get(i)

下指定不同的标记名称