我正在使用showDialog()和dismissDialog()在我的应用程序中显示进度对话框.从创建对话框并调用show()它到使用它以便在更改方向时保存状态.
但是当我从纵向 - >横向 - >纵向更改方向时,dismissDialog()不再取消对话框.对话框一直停留在那里,我需要按后退按钮才能消失.
有什么理由说它会这样吗?
编辑
为了解决这个问题,我尝试添加一个removeDialog()in,onDestroy()这样就不会创建/显示对话框两次,在更改方向之前,会删除该对话框.尝试添加日志语句,看看会发生什么
05-21 12:35:14.064: DEBUG/MyClass(193): *************callingShowDialog
05-21 12:35:14.064: DEBUG/MyClass(193): *************onCreareDialog
05-21 12:35:15.385: DEBUG/MyClass(193): *************onSaveInstanceState
05-21 12:35:15.415: DEBUG/MyClass(193): *************onDestroy
05-21 12:35:15.585: DEBUG/MyClass(193): *************callingShowDialog
05-21 12:35:15.585: DEBUG/MyClass(193): *************onCreareDialog
05-21 12:35:15.715: DEBUG/MyClass(193): *************onCreareDialog
05-21 12:35:17.214: DEBUG/MyClass(193): *************onSaveInstanceState
05-21 12:35:17.214: DEBUG/MyClass(193): *************onDestroy
05-21 12:35:17.275: ERROR/WindowManager(193): android.view.WindowLeaked: Activity com.android.MyClass has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@43362088 that was originally added here
05-21 12:35:17.395: DEBUG/MyClass(193): *************callingShowDialog
05-21 12:35:17.395: DEBUG/MyClass(193): *************onCreareDialog …Run Code Online (Sandbox Code Playgroud) android ×1