在我的应用程序的一部分中,我向用户展示了一个 ListView。当用户按下列表中的一个项目时,将显示一个 DialogFragment
。
@Override
public void onClick() {
android.support.v4.app.FragmentTransaction ft = getFragment().getFragmentManager().beginTransaction();
ft.addToBackStack(null);
SingleSettingDialogFragment dialog = SingleSettingDialogFragment.newInstance(...);
dialog.show(ft, "Single");
}
DialogFragment 具有以下结构:
@Override
public Dialog onCreateDialog(final Bundle savedInstanceState) {
super.onCreateDialog(savedInstanceSate);
AlertDialog dialog = new AlertDialog.Builder(...)
...
.create();
...
return dialog;
}
当用户退出 DialogFragment 时,我希望调用调用 fragment 的 onResume()
方法被调用,但事实并非如此。
那么 DialogFragments 有什么特别之处呢?为什么在显示对话框时调用 fragment 不暂停?如何实现?
我没有在文档中找到任何关于此行为的引用,所以引用是一个加号。
最佳答案
这可能对您有帮助:link
事实上,FragmentDialog 本身并不是一个 Activity ,而是包含调用 fragment 的同一 Activity 的一部分。 这意味着显示 dialogFragment 时 fragment 不会暂停。
引用我给你的源代码,一个 fragment 在以下情况下暂停:另一个 Activity 在前台并且有焦点,但这个 fragment 所在的 Activity 仍然可见(前景 Activity 是部分透明的或不覆盖整个屏幕)。
希望对你有帮助
关于android - 显示 DialogFragment 时调用 fragment 不会暂停,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32628168/