正如标题所示,在片段中执行FragmentTransaction
是个好主意吗?
我的看法是,FragmentTransaction
要求有一个containerView id和Fragment在调用FragmentTransaction.replace()
时要膨胀。获取ID的containerView通常位于活动布局中。因此,在活动中而不是在片段中进行FragmentTransaction
似乎是一个好主意。
但是当使用SharedElementTransition
作为片段时,我感到困惑。现在,它需要一个Views
列表,它将是sharedElements。这些视图位于片段中。现在看来在Fragment本身内部执行FragmentTransaction。
有人可以指导我如何补偿这两种情况吗?
答案 0 :(得分:1)
在FragmentTransaction
内进行fragment
并没有错,只要它不是多余的,例如:
“容器”片段
拥有视图分页器的“子片段”
查看传呼机有碎片
在这里,您可以删除子片段并将视图分页器放在容器片段上。
对于FragmentTransaction
中的fragment
,您实际上可以通过调用fragment
来交换getActivity().getSupportFragmentManager()
本身。在这里,交易发生在Activity
而非fragment
上。但是,如果您打算使用FragmentTransaction
交换父项fragment
的子项,则可以在getChildFragmentManager()
上使用fragment
。
此外,android实际上支持子片段。