2013-10-22 27 views
-3

由於在離開活動之前必須解除對話框,我在我的活動中覆蓋了onSaveInstanceState()方法來保存對話框之前的數據。我認爲從活動中獲取數據後,我應該在onSaveInstanceState()的最後一個對話框上調用dismiss()方法。我對嗎?在whick方法對話框應該被解僱

+0

嘗試在onPause或在調用活動的完成方法之前執行此操作 – Triode

回答

1

解決方法是在退出活動之前在您創建的對話框中調用dismiss(),例如,在onPause()。在離開Activity之前,所有窗口對話框都應該關閉。如果你不關閉對話框,它會給你這個異常。

1

是的,在調用dialog.dismiss()方法並分配dialog = null之後,對話框將被解除,因此您將被保存爲Window Leaked錯誤。

+0

表示在onSaveInstanceState()的最後調用dismiss()是否正常? –

+0

爲什麼你不打擾onPause或onStop中的對話框,在這個方法中做。 –

+0

因爲,我是新來的android,所以我試圖保存對話框的數據在Bundle inSaveInstanceState()方法。所以我在關閉數據之後在onSaveInstanceState()中關閉了對話框。 –

相關問題