如何创建列表<enum> parcelable?</enum>

时间:2013-02-22 03:19:49

标签: android list enums bundle parcelable

我正在尝试让我的类可以使用,但它里面有一个枚举列表。

我已经看过如何使用单个枚举here ...

执行此操作

我怎么能这样做?

谢谢! ;)

1 个答案:

答案 0 :(得分:13)

好的,我只是使用之前引用的链接中的信息解决了这个问题。

这就是我所做的:

public enum Improvement {ENUM1, ENUM2, etc}

public void writeToParcel(Parcel dest, int flags) {
    ...
    List<String> improvementStrings = new ArrayList<String>();
    for (Improvement improvement : improvements) {
        improvementStrings.add(improvement.name());
    }
    dest.writeList(improvementStrings);
}

public void readFromParcel(Parcel in) {
    ...
    List<String> improvementStrings = new ArrayList<String>();
    in.readList(improvementStrings, null);
    for (String improvementString : improvementStrings) {
        improvements.add(Improvement.valueOf(improvementString));
    }
}