Android:停止在方向更改时重新创建活动

时间:2012-05-10 09:05:00

标签: android android-activity oncreate onconfigurationchanged

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

2 个答案:

答案 0 :(得分:35)

只需在androidmanifest.xml中编辑活动代码。

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

答案 1 :(得分:8)

您应该添加 screenSize

如果您的应用程序的目标是API级别12或更低,那么您的活动始终会自行处理此配置更改(即使在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