是否有充分的理由使用Child Fragment Manager进行DialogFragments?

时间:2016-05-05 00:03:50

标签: android android-fragments android-dialogfragment fragmentmanager

通常,当从Activity中显示DialogFragment时,您可以执行以下操作:

MyDialogFragment myDialogFragment = MyDialogFragment.newInstance(args);             
myDialogFragment.show(getSupportFragmentManager(), MY_TAG);

或者如果你在片段中,你可以这样做:

MyDialogFragment myDialogFragment = MyDialogFragment.newInstance(args);             
myDialogFragment.show(getActivity().getSupportFragmentManager(), MY_TAG);

据我所知,它与第一个非常相似,因为它找到了Activity然后从中调用。

然而,再次假设我们处于片段中,通过这样做来启动DialogFragment是否有意义:

MyDialogFragment myDialogFragment = MyDialogFragment.newInstance(args);             
myDialogFragment.show(getChildFragmentManager(), MY_TAG);

调用Fragment会被视为DialogFragment的父级吗?

1 个答案:

答案 0 :(得分:0)

这是由于使用setTargetFragment然后调用getTargetFragment()

时出现的一些问题

看到这篇文章及其答案 Failure saving state - target not in fragment manager (setTargetFragment)