我有一個活動並需要在其中顯示對話框。一切工作正常。我overrided onCreateDialog方法活動,這裏是代碼:活動重新創建後再次顯示Android對話框
哪裏CreateWaitDialog是創建一個對話框的自定義方法和waitDialog是靜態變量。
我顯示的對話框通過調用的ShowDialog(10)
所有的代碼執行罰款。
在顯示對話框後,我通過調用關閉它。
if(waitDialog != null)
waitDialog.hide();
而且我在活動被破壞時被解僱。
if(dialogCreated)
dismissDialog(10);
super.onDestroy();
它關閉,一切都很好。 但是,當我改變我的設備的方向和活動重新創建它自己彈出!我不打電話給任何showDialog或類似的東西,它只是彈出!
我討厭相互競爭的答案,因爲你花了額外的時間來引用文檔,我刪除了我的答案,並給你一個upvote。 – Sam
@Sam我認爲你的答案仍然有價值,我會離開它。他可能真的應該被稱爲解僱而不是隱藏,我的答案只是一個猜測/ hack來繞過onCreateDialog的默認行爲。我認爲你可能是更好的解決方案。 – Tim
我只是仔細檢查了源代碼,如果對話框重複顯示,使用'hide()'是一個更快的方法。你的答案也許是猜測,但它是有根據的和正確的。所以我很高興離開我的讚揚。 – Sam