通常,当从 Activity 显示 DialogFragment 时,您可以这样做:
MyDialogFragment myDialogFragment = MyDialogFragment.newInstance(args);
myDialogFragment.show(getSupportFragmentManager(), MY_TAG);
Run Code Online (Sandbox Code Playgroud)
或者,如果您在 Fragment 中,则可以执行以下操作:
MyDialogFragment myDialogFragment = MyDialogFragment.newInstance(args);
myDialogFragment.show(getActivity().getSupportFragmentManager(), MY_TAG);
Run Code Online (Sandbox Code Playgroud)
据我所知,这与第一个非常相似,因为它正在查找 Activity 然后从中调用。
然而,再一次,假设我们在一个 Fragment 中,通过这样做来启动一个 DialogFragment 是否有意义:
MyDialogFragment myDialogFragment = MyDialogFragment.newInstance(args);
myDialogFragment.show(getChildFragmentManager(), MY_TAG);
Run Code Online (Sandbox Code Playgroud)
调用 Fragment 会被视为 DialogFragment 的父级吗?
android android-fragments android-dialogfragment fragmentmanager