我只是想让我的一些应用程序适应HoneyComb。
我面临的问题是方向变化(横向/纵向)活动的破坏
当我使用经典Activity时,我在清单中写道:
但是现在,所有的电话都不通了!
有解决办法吗?
我的代码:
<activity android:name=".TwitterActivity" android:label="@string/app_name"
android:configChanges="keyboardHidden|orientation" />
<activity android:name=".TwitterActivity$AppListFragment"
android:configChanges="keyboardHidden|orientation" />
7条答案
按热度按时间apeeds0o1#
将此添加到Manifesta.xml
它为你工作。
hrirmatl2#
根据我使用Honeycomb 3.0和兼容性库(r1)的经验。
configChange="orientation"
确实可以处理片段,以防止Activity(应用片段的Activity)在方向更改时重新创建。如果不希望在Activity重新创建时重新创建fragment
,请在onCreate
中调用setRetainInstance
。除非我错过了什么,否则我不太明白你的第二个清单条目,
AppListFragment
不是Fragment
吗?如果是这样,为什么它在你的清单中被列为一个条目?请参见SO Answer以了解可能导致此问题的新限定符。如果您的目标是sdk 13,建议尝试
android:configChanges="orientation|screenSize"
ylamdve63#
我有一个非常类似的问题,但不得不做了几个补充,让它与各种版本(包括ICS)。
在主应用程序活动中,我添加了一个与Jason提供的版本略有不同的版本。
我在Hive前使用了以下工具:
我不得不做第一个例子来让它在所有版本上运行。我目前正在使用fragments和ActionBarSherlock来向后兼容。
我还改变了保存和重新加载的方式:
保存示例状态方法的代码:
希望这个有用。
mbjcgjjk4#
在API 13之前,configChanges属性有一个新值
screenSize
因此,如果您使用的是大屏幕,请确保在configChanges属性中添加screenSize:
jdzmm42g5#
即使没有片段,我也遇到了同样的问题(IidoEe.,活动重新启动)。
我改了:
致:
阻止活动重新开始。
gupuwyp26#
我知道这是一个很晚的答案,但我最近遇到了这个问题,并能够解决这个片段活动。
1)在清单中,
2)在类文件中,重写onSaveInstanceState(Bundle outState).就是这样!
w7t8yxp57#
在清单文件中,在活动内添加此行