要在屏幕打開時顯示消息對話框,並且保持方向對話框已更改。關閉onDestroy()中的MessageDialog不起作用?
public void onDestroy()
{ //savedMessageDialog id represents the current MessageDialogId
//dismiss the message dialog if message id displayed.
int savedMessageDialogId = MessageDialog.getSavedMessageDialogId();
if(savedMessageDialogId == MSG_BACK_DATE_WARNING){
MessageDialog.dismissMessageDialog();
}
}
和我MessageDialog擴展DialogFragment因此,我把這個相同的代碼在onSavedInstancestate它的正常工作沒有任何問題成功的情況下!
雖然我將這段代碼放在了onDestroy中,但它創建了多個實例,同時很多次我改變了方向,還注意到我將關閉對話框,因爲當我從關閉狀態返回時打開設備我的對話框顯示向上。 和我MessageDialog內部使用AlertDialog .... 在
private static MessageDialog currentMessageDialog = null;
public static void dismissMessageDialog()
{
if (MessageDialog != null && MessageDialog.isAdded())
{
try
{
currentMessageDialog.dismiss();
}
catch (IllegalStateException e)
{
e.printStackTrace();
}
finally
{
currentMessageDialog = null;
}
}
}
所以請讓我知道爲什麼我不能駁回的onDestroy對話框,爲什麼多個實例MessageDialog創建? 請建議我一些好的解決方案:-)
您是否收到任何錯誤? –
沒有錯誤!但是當我改變方向的多倍時,對話框的多個實例即將到來。 – AndroidGeeks
在方向改變時,活動重新開始。這可能是你得到多重insatances的原因。 –