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

getResourceContext オブジェクトが必要です。を渡すと、context リソースColorObjectManagerを取得できますcontext.getResources()

于 2013-05-28T07:07:46.543 に答える
1

blackbelt が投稿した回答に同意します。アクティビティ クラスから 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 コンテキストをこのクラスに渡す必要があります。

于 2013-05-28T07:15:32.300 に答える