是否有充分的理由为 DialogFragments 使用子片段管理器?
Posted
技术标签:
【中文标题】是否有充分的理由为 DialogFragments 使用子片段管理器?【英文标题】:Is there ever a good reason to use the Child Fragment Manager for DialogFragments? 【发布时间】:2016-08-30 14:58:52 【问题描述】:通常在显示 Activity 中的 DialogFragment 时,您会这样做:
MyDialogFragment myDialogFragment = MyDialogFragment.newInstance(args);
myDialogFragment.show(getSupportFragmentManager(), MY_TAG);
或者如果你在一个片段中,你可以这样做:
MyDialogFragment myDialogFragment = MyDialogFragment.newInstance(args);
myDialogFragment.show(getActivity().getSupportFragmentManager(), MY_TAG);
据我所知,这与第一个非常相似,因为它找到了 Activity,然后从中调用。
但是,再次假设我们在 Fragment 中,通过这样做来启动 DialogFragment 是否有意义:
MyDialogFragment myDialogFragment = MyDialogFragment.newInstance(args);
myDialogFragment.show(getChildFragmentManager(), MY_TAG);
调用 Fragment 是否会被视为 DialogFragment 的父级?
【问题讨论】:
【参考方案1】:这是由于使用 setTargetFragment 然后调用 getTargetFragment() 时出现的一些问题
查看此帖子及其答案 Failure saving state - target not in fragment manager (setTargetFragment)
【讨论】:
以上是关于是否有充分的理由为 DialogFragments 使用子片段管理器?的主要内容,如果未能解决你的问题,请参考以下文章
是否有任何陷阱或充分的理由不使用 autosproc 进行存储过程调用?