How to read and write Enum into parcel on Android?

后端 未结 6 944
旧时难觅i
旧时难觅i 2021-02-01 12:18

Here is my model class:

public enum Action {
    RETRY, SETTINGS
}

private int imageId;
private String description;
private String actionName;
private Action ac         


        
6条回答
  •  爱一瞬间的悲伤
    2021-02-01 13:01

    Enum decleration:

    public enum Action {
    
        NEXT(1),
        OK(2);
    
        private int action;
    
        Action(int action) {
            this.action = action;
        }
    
    }
    

    Reading from Parcel:

    protected ActionParcel(Parcel in) {
        int actionTmp = in.readInt();
        action = Tutorials.Action.values()[actionTmp];
    }
    

    Writing to parcel:

    public void writeToParcel(Parcel dest, int flags) {
        int actionTmp = action == null ? -1 : action.ordinal();
        dest.writeInt(actionTmp);
    }
    

提交回复
热议问题