我正在Android 3.0中构建一个平板电脑应用程序,无论平板电脑处于什么方向,都应始终以横向显示。我会在启动时向用户弹出一个对话框。当平板电脑锁定在横向,转为纵向和解锁时,应用程序崩溃。我发现问题是IllegalStateException,并显示消息“View not attached to window manager”。我已将其添加到应用程序标记的清单中:
android:configChanges="orientation"
并添加到活动中:
public void onConfigurationChange() {}
Dialog.dismiss()抛出错误。
如果您需要更多信息,请与我们联系。提前谢谢。
答案 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"
清单应用程序标记内的。