2012-11-14 3 views
9

으로 싶어 내가 번들을 통해 다른 스레드로이 열거의 값을 보내하려면이나는 번들에서 열거 값을 싸서 열거

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

등이 열거 있습니다.

다른 스레드는 번들에서 열거 값을 추출하고자하는이 작업을 수행 할 수있는 방법

, 똑똑?

Bundle createBundle(Status status); 

Status getStatus(Bundle b); 

감사합니다,

+0

수 없습니다. 열거 형을 클래스를 만드는 지름길이라고 생각하십시오. 그것은 "인스턴스"가 없으므로 그것을 묶는 것이 의미가 없습니다. 유형을 묶어서 전달할 수는 있지만 아무 것도주지는 못합니다. 아마도 enum 값을 전달하고 싶습니까? 사실, 당신이하려는 것은 무엇입니까? – Simon

+0

아,. 방금 제목을 보았습니다. 질문을 편집하여 열거 형 값이 아닌 열거 형 값을 전달하려고 함을 명시하고 Todd의 대답을 수락하십시오. 감사! – Simon

+0

[안드로이드 : 번들에 열거 형을 넣는 법] 중복 가능성이 있음 (http://stackoverflow.com/questions/3293020/android-how-to-put-an-enum-in-a-bundle) – blahdiblah

답변

7

좋은 질문! 열거 형을 직접 포장하는 방법을 알지 못합니다. 다음이 풀고

int intValue = myEnum.ordinal(); 

을 : 나는 항상 팩이를 사용하여 열거 직렬화하기 때문에

MyEnum enumValue = MyEnum.values()[intValue]; 
+0

토드가 저를 위해 일할 것입니다, 고마워요. – Ahmed

25

은, 우리가 사용하는 번들에 열거 팩 수 있습니다

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

으로 검색, 사용 :

MyEnum myEnum = (MyEnum) myBundle.getSerializable(MY_ENUM);