2016-06-23 2 views
7

나는 안드로이드 애플 리케이션과 렐름에서 일하고 있는데, 내 오브젝트 중 하나에 대해 enum 속성을 만들어야한다. 그러나 나는이 post에서 영역이 열거 형을 아직 지원하지 않는다는 것을 발견했습니다.영역에 Enum이 지원됩니까?

내 객체는 다음과 같이이다 :

public class ShuttleOption extends RealmObject { 
    private int Id; 
    private String Label; 
    private ShuttleTypes OriginShuttleType; 
} 

내 열거 클래스 (ShuttleTypes)에 해당 :

HOME = 1; 

WORK = 2; 

아무도 그것을 어떻게 저를 제안 할 수 ?

답변

19

당신은이 문제에 설명 된 패턴을 사용할 수 있습니다 https://github.com/realm/realm-java/issues/776#issuecomment-190147079

기본적으로

영역에 문자열로 저장하고가는 밖으로 변환 :

public enum MyEnum { 
    FOO, BAR; 
} 

public class Foo extends RealmObject { 
    private String enumDescription; 

    public void saveEnum(MyEnum val) { 
    this.enumDescription = val.toString(); 
    } 

    public MyEnum getEnum() { 
    return MyEnum.valueOf(enumDescription); 
    } 
} 
관련 문제