2010-07-22 7 views
2

我嘗試爲每個對象保存一個唯一的圖像,但是我得到這個錯誤,構造函數應該如何以這種方式工作? 構造啤酒(字符串,INT,INT)是未定義如何傳遞一個R.drawable作爲參數,以便我可以獲得解析的圖像

m_beer = new ArrayList<Beer>(); 
       final Beer b1 = new Beer("Tuborg", 7, R.drawable.tuborg); 
       final Beer b2 = new Beer("Carlsberg", 7, R.drawable.carlsberg); 
       final Beer b3 = new Beer("Urquel", 9, R.drawable.urquel); 


public class Beer 
{ 
    //Members 
    private String name; 
    private int color; //1 = Very dark 10 = Very light 
    private R.drawable icon; 

    //Methods 
    public Beer(String name, int color, R.drawable icon) 
    { 
     this.name = name; 
     this.color = color; 
     this.icon = icon; 
    } 

    public String getName() 
    { 
     return name; 
    } 
    public void setName(String name) 
    { 
     this.name = name; 
    } 

    public int getColor() 
    { 
     return this.color; 
    } 
    public void setColor(int color) 
    { 
     this.color = color; 
    } 

    public R.drawable getIcon() 
    { 
     return icon; 
    } 

} 

回答

5
final Beer b1 = new Beer("Tuborg", 7,context.getResources().getDrawable(R.drawable.tuborg)); 

,並像之前說:

public Beer(String name, int color, Drawable icon) 

或者你可以發送int作爲參數:

final Beer b1 = new Beer("Tuborg", 7, R.drawable.tuborg); 

和:

public Beer(String name, int color, int icon) 
{ 
    this.name = name; 
    this.color = color; 
    this.icon = context.getResources().getDrawable(icon); 
} 
+1

getDrawable()在api中顯示22 – 2017-04-04 07:14:09

0

公共啤酒(字符串名稱,詮釋色彩,可繪製圖標)

+0

And:private R.drawable icon;應該是私人的可繪製圖標; – 2010-07-22 21:42:16

相關問題