Android:对话框触发onResume

时间:2012-08-06 06:03:32

标签: java android

我在我的应用中遇到了一种奇怪的行为。

我有一个带ListView的Activity。当您单击ListView中的项目时,将显示TimePickerDialog。

如果在关闭对话框后点击主页按钮,然后重新加载应用程序,则会再次自动显示TimePickerDialog。

现在,我不知道为什么会出现这种情况。我在应用程序的不同位置记录了消息,试图确定它是如何被触发但无济于事。

我甚至添加了这一行:

Log.d("TEST", "TEST");

在TimePickerFragment的构造函数中,它没有被触发!然而对话框出现了!

这里发生了什么?

2 个答案:

答案 0 :(得分:0)

活动将保存状态。因此它还将保存托管对话框的状态。当你回来时,它会恢复。由于它已经创建,因此不会调用构造函数。据我所知,如果您不让活动管理对话框,则不会发生此行为

答案 1 :(得分:0)

感谢nandeesh的回答,我能够弄清楚如何解决这个问题。

由于我的对话框已被管理,我不得不在对话框实例上调用dismissAllowingStateLoss()方法。

现在就像魅力一样。