2016-06-23 9 views
7

मैं एक एंड्रॉइड ऐप और दायरे पर काम कर रहा हूं, और मुझे अपनी वस्तुओं में से एक के लिए एक enum विशेषता बनाने की जरूरत है; लेकिन मैंने इस post में खोज की है कि दायरे अभी तक enum का समर्थन नहीं करता है।दायरे के साथ Enums समर्थन?

मेरे वस्तु इस तरह है:

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

और मेरी enum वर्ग (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); 
    } 
} 
संबंधित मुद्दे