2013-03-03 49 views
3

我有一個項目,我必須設計一個硬幣數組並使用它。我的GUI看起來像這樣 - http://i.imgur.com/eRzN3Sb.png在Enum中使用Drawable的Android

我希望能夠從coinArray中爲每個硬幣加載適當的圖像。基本上我想能夠說coinView.setBackgroundResource(coinArray [x] .image)我假設我需要以某種方式使用可繪製的對象,我希望它可能包括它在我的枚舉類。枚舉類看起來像

public enum Currency { 
    Penny(1), Nickel(5), Dime(10), Quarter(25); 
    private int value; 
    private Currency(int value) { 
      this.value = value; 

    } 

} 

數組中的每個硬幣都有一個貨幣值,所以我可以計算它們。我想添加一個可繪製的或其他一些對象,這將允許我參考每枚硬幣的正確圖像。

謝謝

回答

7
public enum Currency { 
    Penny(1,R.drawable.xxx), Nickel(5,R.drawable.yyy),...; 
    private int value; 
    private int image 
    private Currency(int value,int drawableId) { 
      this.value = value; 
      this.image=drawableId; 

    } 
    public int getImage(){ 
     return image; 
    } 

} 

有很多方法可以做到這一點。這是其中之一。使用方法:

coinView.setImageResource(coinArray[x].getImage()); 
+0

完美工作;)謝謝 – Shmuel 2013-03-03 03:22:37

+0

嗯..一個很小的事情,coinView.setBackgroundResource(coinArray [X] .getImage())拋出一個錯誤,指出setBackgroundResource不能接受一個int值 – Shmuel 2013-03-03 03:28:18

+1

[ setImageResource](http://developer.android.com/reference/android/widget/ImageView.html#setImageResource(int)) – wtsang02 2013-03-03 03:30:17