关闭 onDestroy() 中的消息对话框不起作用



在屏幕打开时显示消息对话框,并保留方向更改的对话框。

 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();
    }
}

和我的消息对话框扩展了对话片段,因此我将相同的代码放在保存实例状态它工作正常没有问题成功!!

当我将此代码放入onDestroy时,它正在创建多个实例,而很多时候我改变了方向,并且还注意到我将关闭对话框,因为当我从关闭状态返回到打开设备时,我的对话框出现了。和我的消息对话框在内部使用警报对话框...。在那

 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 创建多个实例?请给我一些好的解决方案:-)

AndroidManifest.xml 文件中包含以下内容到您的活动代码中。

android:configChanges="orientation|screenSize"

您可以参考此内容以更好地理解。

最新更新