我有一个活动在屏幕方向变化后不应该被重新创建。我在清单文件中的活动声明中添加了以下内容:
android:configChanges="orientation"
在Android 2.3上,这个功能运行得很完美。在HONEYCOMB_MR2上,当更改方向时仍会调用
onCreate
。是否需要在HONEYCOMB_MR2上执行其他操作以防止在方向更改后重新创建活动?我有一个活动在屏幕方向变化后不应该被重新创建。我在清单文件中的活动声明中添加了以下内容:
android:configChanges="orientation"
onCreate
。是否需要在HONEYCOMB_MR2上执行其他操作以防止在方向更改后重新创建活动?显然在Honeycomb上使用orientation|screenSize
(?)会阻止onCreate
被调用,在之前的Android版本中似乎没有破坏任何东西。
android:configChanges="orientation|screenSize"
不知道为什么这是必要的,我也不太理解关于这个新值的文档。
我怀疑,在 HONEYCOMB_MR2 版本中,当屏幕方向发生变化时,活动将把此视为两个配置更改:方向和屏幕大小。默认情况下,两者都尝试重新创建活动。
android:targetSdkVersion
值是多少? - CommonsWarescreenSize
,这导致了IllegalStateException
,指出一个fragment未附加到activity上。我搜索了所有地方以找出原因,因为只有某些设备(3.2及以上版本)才会出现此问题(尽管我直到发现此问题之前并不知道)。谢谢! - ashughes
android:configChanges="keyboardHidden|orientation"
吗?我不认为这会有什么区别,但试一试也无妨。 - CommonsWare