在屏幕打开时显示消息对话框,并保留方向更改的对话框。
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"
您可以参考此内容以更好地理解。