Log Screen Orientation Changes

Description

The following code finds out what happens to an activity's state when the device changes orientation.

Example

The following demonstrates the behavior of an activity when the device changes orientation.


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

<EditText
    android:id="@+id/txtField1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />

<EditText
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />
</LinearLayout>

Java code


import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
//from  ww w  .  j  a v  a 2  s.  c o m
public class MainActivity extends Activity {
    @Override
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.main);
     Log.d("StateInfo", "onCreate");
 }

 @Override
 public void onStart() {
     Log.d("StateInfo", "onStart");
     super.onStart();
 }

 @Override
 public void onResume() {
     Log.d("StateInfo", "onResume");
     super.onResume();
 }

 @Override
 public void onPause() {
     Log.d("StateInfo", "onPause");
     super.onPause();
 }

 @Override
 public void onStop() {
     Log.d("StateInfo", "onStop");
     super.onStop();
 }

 @Override
 public void onDestroy() {
     Log.d("StateInfo", "onDestroy");
     super.onDestroy();
 }

 @Override
 public void onRestart() {
     Log.d("StateInfo", "onRestart");
     super.onRestart();
 }
}
Log Screen Orientation Changes

Note

You need to ensure that you take the necessary steps to preserve the state of your activity before it changes orientation.

For any activity, you should save whatever state you need to save in the onPause() method, which is fired every time the activity changes orientation.

Important

Only views that are named via the android:id attribute in an activity will have their state persisted when the activity they are contained in is destroyed.

For example, the user may change orientation while entering some text into an EditText view. Any text inside the EditText view will be persisted and restored automatically. If you do not name the EditText view using the android:id attribute, the activity will not be able to persist the text currently contained within it.





















Home »
  Android »
    Android Basics »




Hello Android
Resources
Activity
Calendar
Camera
Contact
Content Provider
Database
Hardware
Intent
Location
Media
Network
Notification
Preference
Sensor
Service
SMS