android - 显示 DialogFragment 时调用 fragment 不会暂停

标签 android android-fragments android-dialogfragment onpause

在我的应用程序的一部分中,我向用户展示了一个 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/

相关文章:

android - 如何使用android exoplayer

android - 膨胀类 fragment 时出错 - 重复 id/illegalargumentexception?

android - 缩小屏幕上的对话框

android - LocalStorage 与 Phonegap 不持久

android - 是否可以在没有预览和用户交互的情况下拍照?

java - 非法状态异常 : Can not perform this action after onSaveInstanceState with onActivityResult

android - 在 DialogFragment 中处理按钮点击

android - 从扩展 RecyclerView.ViewHolder 的类启动 DialogFragment

android - 与 Android 4.0.4 不兼容的 Google Play 服务

android - 如何从另一个 Fragment 更新 Fragment 的 ListView?