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

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

}

最佳答案

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

关于java - 如何将 R.drawable 作为参数传递,以便解析图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3313712/

相关文章:

java - 如何获取二维数组中每列相等匹配的数量?

android - 从SD卡按名称上传Android文件

android - 从移动浏览器扫描 Angular2+ 二维码

android - 将应用程序名称定位到 Android 应用程序的屏幕中心

android - 使用 Roboguice 将 Android Activity 注入(inject) POJO

java - 禁用 JFrame 最小化按钮

java - java中数组的最大元素个数

java - GWT 如何配置让一个客户端连接到一个服务器实例

java - Apache-POI 生成 8kb 的小工作簿,需要几分钟才能完成

android - 这个类图正确吗?它是什么意思