diff options
Diffstat (limited to 'core/java/android/widget/AbsSpinner.java')
| -rw-r--r-- | core/java/android/widget/AbsSpinner.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/core/java/android/widget/AbsSpinner.java b/core/java/android/widget/AbsSpinner.java index 1cb7f2ac60b1..18db54ec5da0 100644 --- a/core/java/android/widget/AbsSpinner.java +++ b/core/java/android/widget/AbsSpinner.java @@ -356,10 +356,18 @@ public abstract class AbsSpinner extends AdapterView<SpinnerAdapter> { return mFirstPosition + i; } } - } + } return INVALID_POSITION; } - + + @Override + protected void dispatchRestoreInstanceState(SparseArray<Parcelable> container) { + super.dispatchRestoreInstanceState(container); + // Restores the selected position when Spinner gets restored, + // rather than wait until the next measure/layout pass to do it. + handleDataChanged(); + } + static class SavedState extends BaseSavedState { long selectedId; int position; |
