diff options
| author | Clara Bayarri <clarabayarri@google.com> | 2016-04-28 09:20:45 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2016-04-28 09:20:47 +0000 |
| commit | adde076fcba30d1571e985ee36687d3f4300438b (patch) | |
| tree | 87274d8796c703eb0a72125455c3be5ff5a68de6 /core/java | |
| parent | d8a028af82d993ad2ab4938c9ce2c9a1a4b3fc9f (diff) | |
| parent | cf3811052672f197916644e7fda526524b506bb1 (diff) | |
Merge "Fix ListView losing scroll position" into nyc-dev
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/widget/AbsSpinner.java | 12 | ||||
| -rw-r--r-- | core/java/android/widget/AdapterView.java | 1 |
2 files changed, 10 insertions, 3 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; diff --git a/core/java/android/widget/AdapterView.java b/core/java/android/widget/AdapterView.java index 6ed7ab8fde68..2cfefba10c57 100644 --- a/core/java/android/widget/AdapterView.java +++ b/core/java/android/widget/AdapterView.java @@ -815,7 +815,6 @@ public abstract class AdapterView<T extends Adapter> extends ViewGroup { @Override protected void dispatchRestoreInstanceState(SparseArray<Parcelable> container) { dispatchThawSelfOnly(container); - handleDataChanged(); } class AdapterDataSetObserver extends DataSetObserver { |
