BaseSavedState保存状态

来源:互联网 发布:s7200数据块使用 编辑:程序博客网 时间:2024/05/18 02:52

/**     * 读取保存状态     * */    @Override    public void onRestoreInstanceState(Parcelable state) {        SavedState savedState = (SavedState)state;        super.onRestoreInstanceState(savedState.getSuperState());        mCurrentPage = savedState.currentPage;        mSnapPage = savedState.currentPage;        requestLayout();    }    /**     * 保存状态     * */    @Override    public Parcelable onSaveInstanceState() {        Parcelable superState = super.onSaveInstanceState();        SavedState savedState = new SavedState(superState);        savedState.currentPage = mCurrentPage;        return savedState;    }    /**     * 保存界面状态     * */    static class SavedState extends BaseSavedState {        //当前页    int currentPage;        public SavedState(Parcelable superState) {            super(superState);        }        private SavedState(Parcel in) {            super(in);            currentPage = in.readInt();        }        @Override        public void writeToParcel(Parcel dest, int flags) {            super.writeToParcel(dest, flags);            dest.writeInt(currentPage);        }        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];            }        };    }


0 0
原创粉丝点击