我有這個枚舉這樣我想包一個包的枚舉值並獲得儘可能枚舉
enum Status {READY, DISCONNECTED, RECEIVING, ... more }
我想通過通過捆綁發送此枚舉值到另一個線程。
另一個線程想提取從包枚舉值,
如何才能做到這一點,巧妙?
Bundle createBundle(Status status);
和
Status getStatus(Bundle b);
感謝,
我有這個枚舉這樣我想包一個包的枚舉值並獲得儘可能枚舉
enum Status {READY, DISCONNECTED, RECEIVING, ... more }
我想通過通過捆綁發送此枚舉值到另一個線程。
另一個線程想提取從包枚舉值,
如何才能做到這一點,巧妙?
Bundle createBundle(Status status);
和
Status getStatus(Bundle b);
感謝,
問得好!我不知道直接打包枚舉的方法。我一直用這個包裝:
int intValue = myEnum.ordinal();
那麼這個解壓:
MyEnum enumValue = MyEnum.values()[intValue];
託德,這將爲我工作,謝謝 – Ahmed
由於ENUM是序列化,我們就可以利用包枚舉成束:
public static String MY_ENUM = "MY_ENUM";
myBundle.putSerializable(MY_ENUM, enumValue);
要檢索,使用:
MyEnum myEnum = (MyEnum) myBundle.getSerializable(MY_ENUM);
你不能。將枚舉看作創建類的捷徑。它沒有「實例」,因此捆綁它是沒有意義的。你可以捆綁類型並通過,但是這不會給你任何東西。你可能想要通過一個枚舉值?其實,你想做什麼? – Simon
啊,.剛剛看過標題。請編輯你的問題,以明確你想要傳遞一個枚舉值,而不是枚舉本身,並接受Todd的答案。謝謝! – Simon
可能的[Android的重複:如何把一個枚舉放入一個包?](http://stackoverflow.com/questions/3293020/android-how-to-put-an-enum-in-a-bundle) – blahdiblah