Articles of 枚举

如何枚举一个包的键值对

有没有人知道一种方法来枚举捆绑的所有键值对,而不提前知道所有的关键?

使用Realm支持枚举?

我正在一个Android应用程序和领域,我需要为我的一个对象创build一个枚举属性; 但是我在这篇文章中发现Realm不支持enum呢。 我的对象是这样的: public class ShuttleOption extends RealmObject { private int Id; private String Label; private ShuttleTypes OriginShuttleType; } 和我的枚举类(ShuttleTypes)对应于: HOME = 1; 和 WORK = 2; 有人可以build议我怎么做吗?

打印枚举的名字

我在ubuntu上使用eclipse + Android SDK。 我想打印一个传感器types设备的名称,那里有很多,我想自动执行。 如果我使用一个 Log.d("SENSORTYPE","Type: " + tempSensor.getType()) 我打印(int)types,但我想要使用枚举的名称。 我怎么能这样做? Thants提前。

从哪里来Enum.values()?

我正在查看文档和源代码,因为我想确保values()将始终以声明Enum值的顺序返回一个数组。 原来,据我所知,这不在文件中。 我检查了Enum类的源代码,没有运气( 有一个相关的私有“getValues”方法 )。 所以我猜测,一些编译器/解释器-Foo已经开始创build一个类来扩展Enum的声明,如: public static enum MyEnum 那么values()在编译过程中是否也被静态转换为硬编码的数组呢? 或者它实际上是一个在运行时调用的方法,如果是的话,它在哪里定义?

android – 如何保持enum从proguard

在我的proguard中,我有以下方面来保持公共枚举不被混淆。 -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } 我的问题是,这是否也保持在这样的class级公共枚举货币 ? public class Foo { public enum **Currency** {PENNY, NICKLE, DIME, QUARTER}; … } 如果不是,我需要分别添加什么? 添加以下内容似乎没有帮助。 -keepattributes InnerClasses 有什么build议? 谢谢

如何在Android上读写Enum进入包裹?

这是我的模特class: public enum Action { RETRY, SETTINGS } private int imageId; private String description; private String actionName; private Action action; public NetworkError(int imageId, String description, String actionName, Action action ) { this.imageId = imageId; this.description = description; this.actionName = actionName; this.action = action; } public int getImageId() { return imageId; } public void setImageId(int imageId) […]

使Enum.toString()本地化

我正在开发一个Android应用程序,我想知道是否可以设置Enum.toString()多语言。 我打算在Spinner上使用这个Enum ,我想使用多语言文本。 public class Types { public enum Stature { tall (0, "tall"), average(1, "average"), small(2, "small"); private final int stature; private final String statureString; Stature(int anStature, String anStatureString) { stature = anStature; statureString = anStatureString; } public int getValue() { return stature; } @Override public String toString() { return statureString; } } } […]

为什么Android使用Ints而不是Enums

阅读关于Android我可以看到框架的许多部分使用int常量作为返回值或configuration值( 就像在这里 START_REDELIVER_INTENT ),而不是一个enum ,据我所知,是一个更好的select,原因很多可以在networking上find, 就像这样 。 所以这让我怀疑…为什么谷歌决定使用这么多int's而不是enum's呢?

何时使用枚举/诠释常量

我有一个问题,我们应该什么时候使用枚举,什么时候应该使用最后的常量? 我知道在Enums和Constants中已经讨论过了。 哪个使用时? 尽pipe这是C#的问题。 我的问题是为什么Android使用这么多的常量,而不是枚举? 例如, 上下文 在我看来,如果我们使用常量,可能会有下面的风险:如果我们定义一个LEVEL常量 public static final int LEVEL_LOW=1; public static final int LEVEL_MEDIUM=2; public static final int LEVEL_HIGH=3; 当我们传递一个int = 4的参数。 它不会有编译错误,如果我们传递一个1,代码阅读器可能不知道它是什么意思。 但是Enum可以解决这个问题,虽然它可能会导致更多的开销,因为它是Object。 那么为什么Android使用常量而不是Enum? 有什么原则,我们应该什么时候使用常量或枚举在这种情况下?

在Android中将枚举添加到微控制器的数组适配器

我正在寻找使用枚举在Android的微调控件的内部列表。 我有我的枚举设置如下: public enum States{ AL("Alabama"), AK("Alaska"), AR("Arkansas"), AZ("Arizona"), CA("California"), CO("Colorado"), … (etc.) } 我当前的arrays适配器设置如下: mAddressState.setAdapter(new ArrayAdapter<States>(this, android.R.layout.simple_list_item_1, States.values())); 这几乎可行,但在我的Spinner列表中,我最终得到的是缩写,而不是州名(这就是我所要做的)。 有没有一个解决方法来正确地得到这个设置?