我的应用向用户显示进度或AlertDialog
是很常见的。如果用户将应用置于后台,然后稍后返回,我希望Dialog
仍然显示。有没有办法让Android处理这个问题?我希望它要么不关闭对话框,要么在Activity
恢复时自动重新打开它。
到目前为止,它看起来像是没有。我还没有找到大量的结果(大多数人遇到的问题与方向的变化,我的应用程序不允许),但很少有人问进入后台。我尝试了DialogFragment
和普通Dialog
的每一个排列,但他们都消失时,按下主页按钮,并从任务管理器打开应用程序。
我甚至没有任何代码可以展示,因为它都处于在线各种示例的测试阶段。我怀疑我必须自己管理这个,通过检查onResume(
)是否应该显示一些东西。如果是这样的话,我可以接受它,但我想确定一下。
3条答案
按热度按时间mdfafbf11#
首先让我们清除一些东西,就像你可以在下一张图片中看到的,你的活动或片段可能会因为很多原因而被破坏,所以你必须处理你想要保存的"对话框的状态"。
下面是代码:
bvjveswy2#
在您的
DialogFragment
的onPause()
中尝试此操作然后,在
Activity
的onResume()
中,您可以调用DialogFragment
以恢复其生命为什么我认为这是可行的,因为
DialogFragment
是Fragment
,并且Fragment
的生命周期由父Activity
控制,如user@0mach0图表所示,因此您所做的就是将其推送到反栈并回调它。因此它应该可以工作dy2hfwbg3#
尝试使用parentFragmentManager显示对话框。适用于我的对话框片段
.show(parentFragmentManager, "TAG")