2010-08-23 111 views
1

我有一个带有OK和Cancel按钮的AlertDialog的android应用程序。当没有按下确定或取消按钮时显示对话框,只需按设备的主页按钮。主屏幕将显示。现在打开另一个应用程序假设相机。拍一些照片或视频。现在离开相机应用程序。现在打开我的android应用程序,令人惊讶的是alertdialog已经消失。为什么?AlertDialog在切换活动后消失

+0

试图重现一个HTC英雄的情况,但我不能。我的对话框仍然可见,即使我把我的应用放在后台并运行相机应用,然后回到应用。你在使用哪款手机?你能否提供一些关于如何创建对话框的代码? – 2010-08-23 08:02:07

+0

推送应用程序后,运行相机应用程序,并拍摄一些照片,然后按返回按钮回来。现在转到您的应用程序并查看是否显示对话框。 – gsmaker 2010-08-23 08:59:42

回答

2

我猜你正在创建AlertDialog onCreate()方法。 首先,您应该阅读Activity Lifecycle

会发生什么事,当你去到另一个应用程序,活动去onPause方法,它清理了一下。

当系统即将开始恢复先前的活动时调用。这通常用于将未保存的更改提交给持久性数据,停止动画和其他可能消耗CPU的内容等。此方法的实现必须非常快速,因为在此方法返回之前,下一个活动不会恢复。

然后,因为您返回到应用程序,它会调用onResume方法,该方法不会再次创建对话框。

1

如果你想显示在应用程序的启动对话框,然后在

onResume() 

方法写这样的代码,它会显示对话框,每次当用户返回到该屏幕。 或者你可以管理其状态

onPause()