在屏幕打开时显示消息对话框,并保持对话框的方向已更改。
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中它正常工作没有问题Succcess !!!
虽然我把这个代码放在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创建多个实例的原因? 请建议我一些好的解决方案: - )
答案 0 :(得分:0)
将以下内容包含在AndroidManifest.xml文件中的活动代码中。
android:configChanges="orientation|screenSize"
您可以参考this以获得更好的理解。