activity 中的多个动态片段

Multiple Fragments dynamically in activity

我有一个 activity 被分成几个部分。每个部分都是一个片段,我正在使用 FragmentContainerView:

<LinearLayout
                android:id="@+id/fragments"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@color/gray_skeleton"
                android:orientation="vertical">

<androidx.fragment.app.FragmentContainerView
                    android:id="@+id/fragmentGrafic"
                   android:name="Fragment1" />

<androidx.fragment.app.FragmentContainerView
                    android:id="@+id/fragmentGrafic"
                   android:name="Fragment2" />

<androidx.fragment.app.FragmentContainerView
                    android:id="@+id/fragmentGrafic"
                   android:name="Fragment3" />

...
</LinearLayout>

但现在我必须 hide/show 片段取决于一些验证。我正在使用 setVisibility(View.GONE) 但它不是太理想,因为 Fragment 没有被破坏。

How can I remove or add more fragments dynamically?

API to remove fragments. API to add fragments.

Do I have to create 'n' FragmentContainerView's in XML depending on my 'n' Fragments?

不,你没有。您可以根据需要 addremovereplace。具体情况取决于您的具体用例。