diff options
Diffstat (limited to 'docs/html/training/basics/activity-lifecycle/recreating.jd')
-rw-r--r-- | docs/html/training/basics/activity-lifecycle/recreating.jd | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/docs/html/training/basics/activity-lifecycle/recreating.jd b/docs/html/training/basics/activity-lifecycle/recreating.jd index 3bbf0bb..1b88e19 100644 --- a/docs/html/training/basics/activity-lifecycle/recreating.jd +++ b/docs/html/training/basics/activity-lifecycle/recreating.jd @@ -51,23 +51,28 @@ the user rotates the screen. When the screen changes orientation, the system des the foreground activity because the screen configuration has changed and your activity might need to load alternative resources (such as the layout).</p> -<p>By default, the system uses the {@link android.os.Bundle} instance state to saves information +<p>By default, the system uses the {@link android.os.Bundle} instance state to save information about each {@link android.view.View} object in your activity layout (such as the text value entered into an {@link android.widget.EditText} object). So, if your activity instance is destroyed and -recreated, the state of the layout is automatically restored to its previous state. However, your +recreated, the state of the layout is restored to its previous state with no +code required by you. However, your activity might have more state information that you'd like to restore, such as member variables that track the user's progress in the activity.</p> -<p>In order for you to add additional data to the saved instance state for your activity, there's an -additional callback method in the activity lifecycle that's not shown in the illustration from -previous lessons. The method is {@link android.app.Activity#onSaveInstanceState -onSaveInstanceState()} and the system calls it when the user is leaving your activity. When the -system calls this method, it passes the {@link android.os.Bundle} object that will be saved in the -event that your activity is destroyed unexpectedly so you can add additional information to it. Then -if the system must recreate the activity instance after it was destroyed, it passes the same {@link -android.os.Bundle} object to your activity's {@link android.app.Activity#onRestoreInstanceState -onRestoreInstanceState()} method and also to your {@link android.app.Activity#onCreate onCreate()} -method.</p> +<p class="note"><strong>Note:</strong> In order for the Android system to restore the state of +the views in your activity, <strong>each view must have a unique ID</strong>, supplied by the +<a href="{@docRoot}reference/android/view/View.html#attr_android:id">{@code +android:id}</a> attribute.</p> + +<p>To save additional data about the activity state, you must override +the {@link android.app.Activity#onSaveInstanceState onSaveInstanceState()} callback method. +The system calls this method when the user is leaving your activity +and passes it the {@link android.os.Bundle} object that will be saved in the +event that your activity is destroyed unexpectedly. If +the system must recreate the activity instance later, it passes the same {@link +android.os.Bundle} object to both the {@link android.app.Activity#onRestoreInstanceState +onRestoreInstanceState()} and {@link android.app.Activity#onCreate onCreate()} +methods.</p> <img src="{@docRoot}images/training/basics/basic-lifecycle-savestate.png" /> <p class="img-caption"><strong>Figure 2.</strong> As the system begins to stop your activity, it |