android:configChanges ="orientation"不适用于 fragment

标签 android android-fragments android-activity restart

我只是想调整我的一些应用程序以适应 HoneyComb。

我面临的问题是我在改变方向(横向/纵向)方面的 Activity 遭到破坏

当我使用经典 Activity 时,我在 list 中写道:

但是现在,所有这些行都不再起作用了!

有解决办法吗?

我的代码:

    <activity android:name=".TwitterActivity" android:label="@string/app_name"
        android:configChanges="keyboardHidden|orientation" />

    <activity android:name=".TwitterActivity$AppListFragment"
    android:configChanges="keyboardHidden|orientation"  />

最佳答案

基于我使用 Honeycomb 3.0 和兼容性库 (r1) 的经验。

configChange="orientation" 确实与 fragment 一起工作,以防止在方向更改时重新创建 Activity (应用它的 Activity )。如果您不希望在重新创建 Activity 时重新创建 fragment,请在 onCreate 中调用 setRetainInstance

除非我遗漏了一些东西,否则我不太会得到你的第二个 list 条目,AppListFragment 不是 Fragment 吗?如果是这样,那为什么它会被列为 list 中的一个条目?

SO Answer如果您的目标是 sdk 13,对于可能导致此问题的新限定符,建议尝试 android:configChanges="orientation|screenSize"

关于android:configChanges ="orientation"不适用于 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7139488/

相关文章:

android - Dagger2 不生成 Dagger* 类

android代码在手机启动后立即启动我的应用程序

Android listfragment onItemClick 不工作?

具有兼容库的 Android Fragments

android - 何时调用 viewmodel onCleared

安卓VR播放器

Android GridView 图像 : Show Text

android - 如何在 android 中制作多级(超过 3 级)抽屉导航?

android - Proguard 不会混淆 gui 组件

android - 我如何从android中的 fragment 调用Activity