如何设置此枚举以返回我想要的图像?

时间:2011-02-25 23:22:14

标签: java android enums android-context

我正在尝试设置这个枚举,以便它能够返回正确的图像,尽管我正在努力采用一种方法来合并上下文,因为它是在一个单独的类中。

public enum CubeType
{
    GREEN { 
        public Drawable getImage()
        {
            return Context.getResources().getDrawable( R.drawable.cube_green );
        }
    };

    abstract public Drawable getImage();
}

我得到的错误是:

  

无法从类型Context

中对非静态方法getResources()进行静态引用

2 个答案:

答案 0 :(得分:3)

我猜你可以将一个上下文作为getImage()的参数:

...
GREEN { 
    public Drawable getImage(Context c)
    {
        return c.getResources().getDrawable( R.drawable.cube_green );
    }
};
...

}

答案 1 :(得分:1)

为什么不直接在包含枚举的类中定义枚举,以及将枚举值与资源ID相关联的HashMap?