Как программно добавить фрагменты в цикл к одному действию?

Так как я не знаю, сколько просмотров мне нужно, поэтому я должен создавать их динамически. Основываясь на моем исследовании, что каждый фрагмент должен иметь контейнер, они не могут поделиться (поправьте меня, если я ошибаюсь), поэтому мне нужно создать контейнер представления для каждого фрагмента динамически, тогда я могу иметь это:

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

Кто-нибудь знает, как я могу заставить это работать? Я еще новичок в android.
Спасибо!!!!

1 ответ

  1. Определите его в 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();
            }
    

    Вы можете дать различные имена тега под тегом.get (i)