2016-07-11 4 views
2

私は彼らがこのようにコード化されているImageViewのかのImageButtonとして使用されるいずれかのこれらの6色のイメージがあるが列挙するImageViewの/のImageButtonを参照ください:どのように私は、Android Studioでの値

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; 
} 

参照。

ご希望の方は、ありがとうございます。

答えて

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; 
    } 
} 

Map<String, Integer> colors = new HashMap<String, Integer>(); 
colors.put("RED", R.drawable.redPeg); 
// etc, put all the values 

は次のような値を取得します。

0

あなたは、たとえば、HashMapので、このような何かを行うことができます:あなたが列挙色のコンストラクタを作成することができ

colors.get("RED"); // will return R.drawable.redPeg 
関連する問題