Android: Stop Recreating the activity on orientation change
Asked Answered
P

2

21

I have a listview with two buttons in my main.xml layout. On click of one button i'am creating a textview dynamically and adding it at the bottom of the screen to confirm the user interaction. When the user clicks 2nd button (Confirm button), i need to add that text to listview. To support landscape mode, i have the same layout file in layout-land folder. When i click on 1st button it is creating a textview with some text and adding at bottom of the screen. Now if a change the device orientation then it is loading the landscape main.xml and activity is recreating again. So my textview is getting collapsed. How can i prevent that the recreation of activity on orientation change. (But it should pick up the other layout file).

Pompidou answered 10/5, 2012 at 9:5 Comment(1)
#456711Quach
A
47

Just edit the Activity Tag in androidmanifest.xml.

<activity
            android:configChanges="keyboardHidden|orientation"
            android:name=".testActivity"
            android:label="@string/app_name"></activity>
Accurate answered 10/5, 2012 at 9:12 Comment(2)
in newer android versions use android:configChanges="keyboardHidden|orientation|screenSize"Examine
This disables the layout change. How do I fix that?Acey
C
16

You should add screenSize

if your application targets API level 12 or lower, then your activity always handles this configuration change itself (this configuration change does not restart your activity, even when running on an Android 3.2 or higher device).

Added in API level 13.

then it should be like this

<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

Cimah answered 25/2, 2015 at 11:35 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.