当前位置: 首页 > 知识库问答 >
问题:

显示DialogFragment时调用片段未暂停

柳项明
2023-03-14
@Override
public void onClick() {
    android.support.v4.app.FragmentTransaction ft = getFragment().getFragmentManager().beginTransaction();
    ft.addToBackStack(null);
    SingleSettingDialogFragment dialog = SingleSettingDialogFragment.newInstance(...);
    dialog.show(ft, "Single");
}
@Override
public Dialog onCreateDialog(final Bundle savedInstanceState) {
    super.onCreateDialog(savedInstanceSate);
    AlertDialog dialog =  new AlertDialog.Builder(...)
        ...
        .create();
    ...
    return dialog;
}

那么DialogFragments有什么特别之处呢?为什么在显示对话框时没有暂停调用片段?又如何实现呢?

我在文档中没有发现任何关于这种行为的引用,所以引用是一个加号。

共有1个答案

彭成天
2023-03-14

这可能会帮助您:链接

事实上,FragmentDialog本身并不是一个活动,而是包含调用片段的同一活动的一部分。它表示在显示dialogFragment时不暂停片段。

引用我提供的源代码,当以下情况下片断暂停:另一个活动在前台并且有焦点,但是这个片断所在的活动仍然可见(前台活动部分透明或没有覆盖整个屏幕)。

希望能有所帮助

 类似资料:
  • Android不会在焦点编辑文本中显示键盘,即使当点击它时,在暂停或停止片断后也是如此。例如我专注于编辑文本键盘显示,一切都好,然后我点击home按钮(或者只是离开片段)恢复相同的片段后,焦点仍然在编辑文本,但不能再次显示键盘。来自日志: w/InputMethodManager:当前服务视图不是焦点视图 我只有一个活动,在清单中包含以下信息: 活动Android:name=“.Presentat

  • 我试图在片段中填充一个具有自定义布局的listView。但是,当我启动应用程序时,listview的内容没有加载(这是使用数组适配器获得的)。下面是加载listView的代码: 这里是我的CustomAdapter的代码: } 这是列表项布局的xml: 这里是主要布局: 我没有收到任何错误消息,但是当我启动应用程序时,listView中没有显示任何项目,并且永远不会调用我的适配器的getView方

  • 假设有两个Fragments,X和Y。我在X上添加Y片段。当Y完成它的工作,然后删除,X再次可见。 问题:当Y片段被删除并且X再次可见时,我必须执行一些任务,但不会调用,因为它取决于活动。那么我怎么知道片段是可见的呢?

  • 如果从Fragment调用,我的DialogFragment会抛出ClassCastException,而如果从Activity调用,则会正常工作。我已经看了很少的其他问题与类似的问题,基本上是与进口有关的,但我没有能够解决在我的实现。下面是我对DialogFragment的实现。 下面是我使用上面的DialogFragment的片段: 这是错误日志: 我想知道有没有人能给出一个关于这个问题的提示

  • 我想从AlertDialog的setPositiveButton()方法内部的片段调用一个方法,该方法用于返回DialogFragment的对话框,但不能这样做。 我在一个名为Test的类中有doSomething()方法,该类扩展了Fragment。在这个类中,我有一个扩展DialogFragment的内部类。在方法onCreateDialog中,问题就发生在这里。查看代码: 对话片段和片段来自

  • 我有3个碎片。 每个片段都有自己的AsyncTask。 当我“启动”FragmentActivity时,将显示片段1,并执行其asynctask。但是它最近的片段(片段2,中间的片段)也启动它的AsyncTask。 我想知道是否只有当用户看到片段时才可以启动异步任务。我想如果是可能的,因为我想显示一个进度对话框(获取数据...)。现在我从数据库中得到的数据很少,但如果我有很多,我想显示一个进度对话