在片段内执行FragmentTransactions是个好主意吗?

时间:2018-07-25 09:05:26

标签: android android-activity fragment fragmenttransaction

正如标题所示,在片段中执行FragmentTransaction是个好主意吗?

我的看法是,FragmentTransaction要求有一个containerView id和Fragment在调用FragmentTransaction.replace()时要膨胀。获取ID的containerView通常位于活动布局中。因此,在活动中而不是在片段中进行FragmentTransaction似乎是一个好主意。

但是当使用SharedElementTransition作为片段时,我感到困惑。现在,它需要一个Views列表,它将是sharedElements。这些视图位于片段中。现在看来在Fragment本身内部执行FragmentTransaction。

有人可以指导我如何补偿这两种情况吗?

1 个答案:

答案 0 :(得分:1)

FragmentTransaction内进行fragment并没有错,只要它不是多余的,例如:

“容器”片段
拥有视图分页器的“子片段”
查看传呼机有碎片

在这里,您可以删除子片段并将视图分页器放在容器片段上。

对于FragmentTransaction中的fragment,您实际上可以通过调用fragment来交换getActivity().getSupportFragmentManager()本身。在这里,交易发生在Activity而非fragment上。但是,如果您打算使用FragmentTransaction交换父项fragment的子项,则可以在getChildFragmentManager()上使用fragment

此外,android实际上支持子片段