尝试加载位图时出错

时间:2013-05-28 07:04:34

标签: android

为什么我收到错误消息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的构造函数会有所帮助,但事实并非如此!我想我在这里缺少一些知识,我可以创建对象而不是。我可以帮忙解决这个问题吗?谢谢!

3 个答案:

答案 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上下文传递给这个类。

相关问题