2012-08-06 35 views
0

我在我的應用程序中遇到了奇怪的行爲。Android:觸發onResume的對話框

我有一個ListView的活動。當你點擊ListView中的一個項目時,會顯示一個TimePickerDialog。

如果我在關閉對話框後點擊主頁按鈕,然後重新加載應用程序,TimePickerDialog會再次自動顯示。

現在,我不知道爲什麼會發生這種行爲。我在應用程序的不同位置記錄了消息,試圖確定它是如何觸發的,但無濟於事。

我甚至加入這一行:

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

的TimePickerFragment的構造函數中,並沒有被解僱!然而,對話正在顯現!

這是怎麼回事?

+0

你可以發佈你的代碼嗎? – Gogu 2012-08-06 06:05:38

回答

0

感謝nandeesh的回答,我能夠弄清楚如何解決這個問題。

由於我的對話框是託管的,我不得不在我的對話框實例上調用dismissAllowingStateLoss()方法。

現在工作就像一個魅力。

+0

嗨Rex357如何調用這個dismissAllowingStateLoss()你可以舉一個例子 – 2012-11-06 11:20:33

0

活動將保存狀態。所以它也將保存託管對話框的狀態。當你回來時,它會恢復。既然它已經被創建,構造函數將不會被調用。據我所知,如果你不讓活動管理對話框,這種行爲將不會發生

+0

謝謝你的回答,這讓我走向了正確的方向。我們在發言時發佈解決方案。 – ReX357 2012-08-06 06:17:18