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