I am building an app that needs to know whether the device is in landscape or portrait mode. So I figured, I will use onCreate, I know that is called on device rotation. But onCreate is call only once!! When I rotate the device, nothing happens. I am debugging on an actual device, Motorola Xoom, so I am NOT using the emulator. Someone had this kind of problem?
Notice that Android does not call onCreate and onDestroy because we retained the Fragment; nor does it call the constructor, because the same Fragment instance will be used after the orientation change.
OnCreate is only called once.
Prevent Activity to recreated Another most common solution to dealing with orientation changes by setting the android:configChanges flag on your Activity in AndroidManifest. xml. Using this attribute your Activities won't be recreated and all your views and data will still be there after orientation change.
Check if int the Manifest file you declare
android:configChanges="orientation"
if you declared this flag, the activity will not be destroyed and recreated and the callback
onConfigurationChanged()
will be called.
For target API > 13
you need to declare both orientation|screenSize
for your Activity
to make onCreate
not call
<activity
...
android:configChanges="orientation|screenSize"
/>
If you only define orientation
or screenSize
, onCreate
still call.
Chekc it here activity-element -> android:configChanges -> "orientation"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With