如何将R.drawable作为参数传递,以便我可以解析图像

时间:2010-07-22 21:36:33

标签: java android

我尝试将唯一的图像保存到每个对象但是我得到了这个错误,构造函数应该如何查找它以这种方式工作? 构造函数Beer(String,int,int)未定义

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

}

2 个答案:

答案 0 :(得分:7)

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 :(得分:0)

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