Java 如何设置此枚举以返回所需的图像?

Java 如何设置此枚举以返回所需的图像?,java,android,enums,android-context,Java,Android,Enums,Android Context,我正在尝试设置这个枚举,以便它能够返回正确的图像,尽管我正在努力寻找合并上下文的方法,因为它位于一个单独的类中 public enum CubeType { GREEN { public Drawable getImage() { return Context.getResources().getDrawable( R.drawable.cube_green ); } }; abstract pu

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

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

    abstract public Drawable getImage();
}
我得到的错误是:

无法从类型上下文对非静态方法getResources()进行静态引用


我想您可以将上下文作为getImage()的参数:


}

为什么不在一个封装枚举的类中定义枚举,并在一个将枚举值与资源id关联的哈希映射中定义枚举?

上下文是一个类,需要对实例化的对象调用getResources()。我发现了一个类似的主题,帮助我解决了问题。我正在使用android教程中的设置。就像我有一个类GameView,它包含一个类GameThread。然后我有一个单独的类(CubeObject)用于多维数据集,最后是enum文件。有没有比将上下文从视图传递到线程、从CubeObject传递到Enum更简单的方法呢?事实上,我发现了一个类似的主题。我不知道怎么做,虽然我知道了。
...
GREEN { 
    public Drawable getImage(Context c)
    {
        return c.getResources().getDrawable( R.drawable.cube_green );
    }
};
...