5

在这个论坛上进行了长时间的搜索后,我找到了很多答案,人们建议使用解决方案来避免对话在轮换后关闭,就像:

android:configChanges="keyboardHidden|orientation"

或者覆盖以下方法,这似乎是最推荐的:

protected Dialog onCreateDialog(int id)

但是,在查看 Android 参考文档后,我注意到这些 Dialog 方法已被弃用。

所以,显而易见的问题是:

今天,在设备旋转后避免对话框关闭的最佳方法是什么?

提前致谢。

4

3 回答 3

7

您现在应该使用来自新 Fragments API 的DialogFragment 。要在低于 3.0 的平台上使用它,请使用兼容性包

于 2012-08-15T06:53:18.147 回答
5

我要回答的是仅基于对话框(而不是完全不同的游戏的对话框片段)。

对话框是活动的一部分,因此,它们在轮换期间被销毁。您过去对对话框的引用现在将指向一个不再出现在屏幕上的对话框,并且可能会给您带来问题。

不幸的是,没有简单的解决方案。android:configChanges="keyboardHidden|orientation"你会为自己制造一系列其他问题。

这样做的方法是保存对话框的任何配置,将其关闭,并且每当重新创建活动时,重新创建对话框。

于 2012-08-15T08:14:39.523 回答
0

试试这个....

onOrientationChanged(int x)
{
 dialogobject.dismissDialog();
}
于 2012-08-15T07:01:57.747 回答