平板电脑应用程序因方向变化而崩溃

时间:2012-03-14 22:05:28

标签: android exception dialog orientation

我正在Android 3.0中构建一个平板电脑应用程序,无论平板电脑处于什么方向,都应始终以横向显示。我会在启动时向用户弹出一个对话框。当平板电脑锁定在横向,转为纵向和解锁时,应用程序崩溃。我发现问题是IllegalStateException,并显示消息“View not attached to window manager”。我已将其添加到应用程序标记的清单中:

android:configChanges="orientation"

并添加到活动中:

public void onConfigurationChange() {}

Dialog.dismiss()抛出错误。

如果您需要更多信息,请与我们联系。提前谢谢。

3 个答案:

答案 0 :(得分:3)

我认为您的onConfigurationChange方法不应为空。您还应该在其中调用超级方法。写得像这样:

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);

    //your optional code
}

答案 1 :(得分:2)

尝试使用public void onPause()protected void onSaveInstanceState(Bundle outState)方法解除对话框。

因为一旦在方向更改时重新创建了活动,当您想要关闭未附加到父级的对话框时,它会抛出异常。

答案 2 :(得分:0)

好的,我们解决了这个问题。我们正在测试的平板电脑正在运行3.2。在3.2中,android:configChanges属性还需要包括屏幕大小

android:configChanges="orientation|screenSize"
清单应用程序标记内的

这很有帮助: How do I disable orientation change on Android?