2016-07-11 7 views
2

Ich habe diese 6 Farbbilder, die als Image oder Image sie so codiert werden entweder verwendet:Wie kann ich Image/Image Referenz auf Enum-Werte in Android Studio

R.drawable.bluePeg 
R.drawable.redPeg 
R.drawable.greenPeg 
R.drawable.purplePeg 
R.drawable.brownPeg 
R.drawable.yellowPeg 

Ich möchte, dass sie verbunden werden zu eNUM-Werte vergleichen, ich kann so sie besser in einem Array etwas wie folgt aus:

public enum Colours { 
    RED, BLUE, YELLOW, BROWN, 
    GREEN, PURPLE; 
} 

Meine Frage ist, wie kann ich eNUM nutzen diese Bilder auf die richtigen Werte zu verknüpfen, so kann ich dann für sie zu einer besseren Verwendung von Arrays starten Referenz.

Hoffe das macht Sinn, danke.

Antwort

3

Sie Konstruktor für Enum Farben schaffen könnte:

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

Sie können zum Beispiel mit einer HashMap, so etwas tun:

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

die Werte abrufen wie:

colors.get("RED"); // will return R.drawable.redPeg