为什么我收到错误消息The method getResources() is undefined for the type ColorObjectManager
?
我使用此行加载位图图像:
orange = BitmapFactory.decodeResource(getResources(), R.drawable.pearl_orange);
如果我在另一个我调用GameLoop
的类中执行此操作,它可以正常工作,我在MainActivity
类中创建了一个对象。但是当我在类ColorObjectManager
中尝试执行此操作时,它不起作用,我在GameLoop
类中创建了一个对象。你跟着吗?
为什么我只能在GameLoop
课程中使用此加载部分,而不是ColorObjectManager
课程?我认为如果我将Context传递给ColorObjectManager
的构造函数会有所帮助,但事实并非如此!我想我在这里缺少一些知识,我可以创建对象而不是。我可以帮忙解决这个问题吗?谢谢!
答案 0 :(得分:2)
getResource
需要一个Context对象。如果您将context
传递给ColorObjectManager
,则可以使用context.getResources()
答案 1 :(得分:1)
我同意blackbelt发布的答案。将活动上下文传递给活动类的ColorObjectManager构造函数。
new ColorObjectManger(ActivityName.this);
构造
Context mContext;
public ColorObjectManager(Context context)
{
this.mContext= context;
}
然后使用上下文获取资源。
编辑:
如果您只想在加载方法中使用上下文
public ColorObjectManager(Context context)
{
load(context);
}
答案 2 :(得分:0)
要获取访问getResources(),需要使用Activity上下文。您的 ColorObjectManager 不是活动。所以你需要将Activity上下文传递给这个类。