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

sac*_*chi 13 android onconfigurationchanged oncreate android-activity

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

Dhr*_*tel 36

只需在androidmanifest.xml中编辑活动标签即可.

<activity
            android:configChanges="keyboardHidden|orientation"
            android:name=".testActivity"
            android:label="@string/app_name"></activity>
Run Code Online (Sandbox Code Playgroud)

  • 在较新的Android版本中使用`android:configChanges ="keyboardHidden | orientation | screenSize"` (30认同)
  • 这会禁用布局更改.我该如何解决这个问题? (3认同)

Min*_*wzy 9

你应该添加screenSize

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

在API级别13中添加.

那应该是这样的

<activity
                android:configChanges="keyboardHidden|orientation|screenSize"
                android:name=".testActivity"
                android:label="@string/app_name"></activity>
Run Code Online (Sandbox Code Playgroud)

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