要在屏幕打开时显示消息对话框,并且保持方向对话框已更改。关闭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的原因。 –