0

为什么我会收到错误消息The method getResources() is undefined for the type ColorObjectManager

我使用这一行来加载位图图像:

orange = BitmapFactory.decodeResource(getResources(), R.drawable.pearl_orange);

如果我在我调用的另一个类中执行此操作,我会在该类中GameLoop创建一个对象,它工作正常MainActivityColorObjectManager但是,当我尝试在类中创建对象的类中执行此操作时,它不起作用GameLoop。你跟吗?

为什么我仅限于在课堂上使用这个加载部分GameLoop而不是在ColorObjectManager课堂上?我认为如果我将 Context 传递给 的构造函数会有所帮助ColorObjectManager,但事实并非如此!我想我在这里缺少一些可以创建对象而不是对象的知识。我可以得到一些帮助来解决这个问题吗?谢谢!

4

3 回答 3

2

getResource需要一个上下文对象。如果你传递contextColorObjectManager你可以检索资源context.getResources()

于 2013-05-28T07:07:46.543 回答
1

我同意黑带发布的答案。将活动上下文从活动类传递给 ColorObjectManager 的构造函数。

     new ColorObjectManger(ActivityName.this); 

构造函数

     Context mContext;
     public ColorObjectManager(Context context)
     {
          this.mContext= context;
     } 

然后使用上下文获取资源。

编辑:

如果您只想在加载方法中使用上下文

     public ColorObjectManager(Context context)
     {
          load(context);
     }  
于 2013-05-28T07:18:11.667 回答
0

要访问 getResources() ,需要 Activity 上下文。您的ColorObjectManager不是 Activity。所以你需要将 Activity 上下文传递给这个类。

于 2013-05-28T07:15:32.300 回答