Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cf381105 authored by Andrei Stingaceanu's avatar Andrei Stingaceanu
Browse files

Fix ListView losing scroll position

Restrict restoring the selected position when AdapterView
gets restored for Spinner instances only.

Bug: 26991402
Bug: 23619366
Change-Id: Ib002eac5ed0b8810a3e9988ad36f03450cb03b9b
parent 9c51583d
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -360,6 +360,14 @@ public abstract class AbsSpinner extends AdapterView<SpinnerAdapter> {
        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;
+0 −1
Original line number Diff line number Diff line
@@ -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 {