我正在尝试设置这个枚举,以便它能够返回正确的图像,尽管我正在努力采用一种方法来合并上下文,因为它是在一个单独的类中。
public enum CubeType
{
GREEN {
public Drawable getImage()
{
return Context.getResources().getDrawable( R.drawable.cube_green );
}
};
abstract public Drawable getImage();
}
我得到的错误是:
无法从类型Context
中对非静态方法getResources()进行静态引用
答案 0 :(得分:3)
我猜你可以将一个上下文作为getImage()的参数:
...
GREEN {
public Drawable getImage(Context c)
{
return c.getResources().getDrawable( R.drawable.cube_green );
}
};
...
}
答案 1 :(得分:1)
为什么不直接在包含枚举的类中定义枚举,以及将枚举值与资源ID相关联的HashMap?