Android: How to put an Enum in a Bundle?

前端 未结 12 1421
别那么骄傲
别那么骄傲 2020-12-22 16:56

How do you add an Enum object to an Android Bundle?

12条回答
  •  野趣味
    野趣味 (楼主)
    2020-12-22 17:19

    Another option:

    public enum DataType implements Parcleable {
        SIMPLE, COMPLEX;
    
        public static final Parcelable.Creator CREATOR = new Creator() {
    
            @Override
            public DataType[] newArray(int size) {
                return new DataType[size];
            }
    
            @Override
            public DataType createFromParcel(Parcel source) {
                return DataType.values()[source.readInt()];
            }
        };
    
        @Override
        public int describeContents() {
            return 0;
        }
    
        @Override
        public void writeToParcel(Parcel dest, int flags) {
            dest.writeInt(this.ordinal());
        }
    }
    

提交回复
热议问题