我有这样的枚举
enum Status {READY, DISCONNECTED, RECEIVING, ... more }
Run Code Online (Sandbox Code Playgroud)
我想通过Bundle将此枚举的值发送到另一个线程.
另一个线程想要从Bundle中提取枚举值,
如何才能巧妙地完成这项工作?
Bundle createBundle(Status status);
Run Code Online (Sandbox Code Playgroud)
和
Status getStatus(Bundle b);
Run Code Online (Sandbox Code Playgroud)
谢谢,
mut*_*kid 33
由于Enum是可序列化的,我们可以使用以下命令将枚举打包到包中:
public static String MY_ENUM = "MY_ENUM";
myBundle.putSerializable(MY_ENUM, enumValue);
Run Code Online (Sandbox Code Playgroud)
要检索,请使用:
MyEnum myEnum = (MyEnum) myBundle.getSerializable(MY_ENUM);
Run Code Online (Sandbox Code Playgroud)
Tod*_*der 12
好问题!我不知道直接打包枚举的方法.我总是用它来打包:
int intValue = myEnum.ordinal();
Run Code Online (Sandbox Code Playgroud)
然后这解压:
MyEnum enumValue = MyEnum.values()[intValue];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8432 次 |
| 最近记录: |