我有这6个彩色图像,可以用作ImageView或ImageButton,它们的编码如下:
R.drawable.bluePeg
R.drawable.redPeg
R.drawable.greenPeg
R.drawable.purplePeg
R.drawable.brownPeg
R.drawable.yellowPeg
我希望它们与枚举值相关联,因此我可以在数组中更好地比较它们:
public enum Colours {
RED, BLUE, YELLOW, BROWN,
GREEN, PURPLE;
}
我的问题是如何使用枚举将这些图像链接到正确的值,以便我可以开始使用数组来更好地参考。
希望这是有道理的,谢谢。
答案 0 :(得分:3)
您可以为枚举颜色创建构造函数:
public enum Colours {
RED(R.drawable.redPeg), ... BLUE(R.drawable.bluePeg);
private final int drawable;
private Colours(int drawable) {
this.drawable = drawable;
}
public int getDrawable() {
return this.drawable;
}
}
答案 1 :(得分:0)
您可以使用HashMap执行类似的操作,例如:
Map<String, Integer> colors = new HashMap<String, Integer>();
colors.put("RED", R.drawable.redPeg);
// etc, put all the values
检索以下值:
colors.get("RED"); // will return R.drawable.redPeg