【问题标题】:Android: Stop Recreating the activity on orientation changeAndroid:停止在方向更改时重新创建活动
【发布时间】:2012-05-10 09:05:00
【问题描述】:

我的 main.xml 布局中有一个带有两个按钮的列表视图。单击一个按钮,我将动态创建一个文本视图并将其添加到屏幕底部以确认用户交互。当用户单击第二个按钮(确认按钮)时,我需要将该文本添加到列表视图。为了支持横向模式,我在 layout-land 文件夹中有相同的布局文件。当我单击第一个按钮时,它正在创建一个带有一些文本的文本视图并在屏幕底部添加。现在,如果更改设备方向,则它正在加载景观 main.xml,并且活动正在重新创建。所以我的文本视图正在崩溃。我怎样才能防止在方向改变时重新进行活动。 (但它应该选择其他布局文件)。

【问题讨论】:

标签: android android-activity oncreate onconfigurationchanged


【解决方案1】:

只需在 androidmanifest.xml 中编辑 Activity Tag。

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

【讨论】:

  • 在较新的安卓版本中使用android:configChanges="keyboardHidden|orientation|screenSize"
  • 这将禁用布局更改。我该如何解决?
【解决方案2】:

您应该添加 screenSize

如果您的应用程序以 API 级别 12 或更低级别为目标,那么您的 Activity 始终会自行处理此配置更改(此配置更改不会重新启动您的 Activity,即使在 Android 3.2 或更高版本的设备上运行时也是如此)。

在 API 级别 13 中添加。

那么应该是这样的

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

http://developer.android.com/guide/topics/manifest/activity-element.html

【讨论】:

    猜你喜欢
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-07
    • 1970-01-01
    相关资源
    最近更新 更多