12

我有这样的枚举

  enum Status {READY, DISCONNECTED, RECEIVING, ... more }

我想通过 Bundle 将此枚举的值发送到另一个线程。

另一个线程想从 Bundle 中提取枚举值,

这怎么能做到,聪明?

   Bundle createBundle(Status status);

   Status getStatus(Bundle b);

谢谢,

4

2 回答 2

34

由于 Enum 是可序列化的,我们可以使用以下命令将 enum 打包到包中:

public static String MY_ENUM = "MY_ENUM";
myBundle.putSerializable(MY_ENUM, enumValue);

要检索,请使用:

MyEnum myEnum = (MyEnum) myBundle.getSerializable(MY_ENUM);
于 2013-11-26T15:00:55.813 回答
14

好问题!我不知道直接打包枚举的方法。我总是用这个来打包:

int intValue = myEnum.ordinal();

然后解压:

MyEnum enumValue = MyEnum.values()[intValue];
于 2012-11-14T18:37:44.633 回答