learn-rangeseekbar icon indicating copy to clipboard operation
learn-rangeseekbar copied to clipboard

fix 状态恢复保存Exception

Open hushenghao opened this issue 5 years ago • 2 comments

private static class SavedState extends BaseSavedState {
        private float minValue;
        private float maxValue;
        private float reserveValue;
        private int cellsCount;
        private float currSelectedMin;
        private float currSelectedMax;

        SavedState(Parcelable superState) {
            super(superState);
        }

        private SavedState(Parcel in) {
            super(in);
            minValue = in.readFloat();
            maxValue = in.readFloat();
            reserveValue = in.readFloat();
            cellsCount = in.readInt();
            currSelectedMin = in.readFloat();
            currSelectedMax = in.readFloat();
        }

        @Override
        public void writeToParcel(Parcel out, int flags) {
            super.writeToParcel(out, flags);
            out.writeFloat(minValue);
            out.writeFloat(maxValue);
            out.writeFloat(reserveValue);
            out.writeInt(cellsCount);
            out.writeFloat(currSelectedMin);
            out.writeFloat(currSelectedMax);
        }

        /**
         * 添加这段代码
         */
        public static final Parcelable.Creator<SavedState> CREATOR
                = new Parcelable.Creator<SavedState>() {
            @Override
            public SavedState createFromParcel(Parcel in) {
                return new SavedState(in);
            }


            @Override
            public SavedState[] newArray(int size) {
                return new SavedState[size];
            }
        };

hushenghao avatar Nov 14 '19 08:11 hushenghao

java.lang.RuntimeException: Parcel android.os.Parcel@f4614c8: Unmarshalling unknown type code 1084227584 at offset 2216
	at android.os.Parcel.readValue(Parcel.java:2444)
	at android.os.Parcel.readSparseArrayInternal(Parcel.java:2813)
	at android.os.Parcel.readSparseArray(Parcel.java:2068)
	at android.os.Parcel.readValue(Parcel.java:2422)
	at android.os.Parcel.readArrayMapInternal(Parcel.java:2732)
	at android.os.BaseBundle.unparcel(BaseBundle.java:271)
	at android.os.Bundle.getSparseParcelableArray(Bundle.java:934)
       ...

谁能想到是这个b的问题

hushenghao avatar Nov 14 '19 08:11 hushenghao

抱歉老哥,三年前的菜鸡代码。给你推荐 https://github.com/Jay-Goo/RangeSeekBar

iielse avatar Nov 14 '19 08:11 iielse