Как вызвать getResources () из класса, у которого нет контекста?

В моем приложении есть много классов и действий. Droid - это класс, у которого нет контекста. Mygame - это класс, который расширяет SurfaceView и реализует SurfaceHolder.Callback. Я создаю объект Droid в классе mygame и устанавливаю для него фоновое изображение и положение. Код, который я написал для этого, приведен ниже.

block1 = new Droid(BitmapFactory.decodeResource(getResources(), R.drawable.birdpic), 100, 10);

Конструктор класса Droid приведен ниже.

public Droid(Bitmap bitmap, int x, int y) {

    this.bitmap = bitmap;
    this.x = x;
    this.y = y;
}   

В конкретном сценарии мне нужно установить фоновое изображение и положение объекта Droid из самого класса Droid. Здесь я столкнулся с проблемой. Ниже приведен фрагмент кода для этого.

if(checkflag)
{
    myObj.centerblock=new Droid(BitmapFactory.decodeResource(getResources(), R.drawable.blast), myObj.xpos, myObj.ypos);
}   

Проблема в том, что у класса Droid нет контекста. Поэтому я не могу использовать здесь getResources (). Я пробовал приведенный ниже код, но он вылетает.

if(checkflag)
{
    myObj.centerblock=new Droid(BitmapFactory.decodeResource(myObj.getResources(), R.drawable.blast), myObj.xpos, myObj.ypos);
}

Кто-нибудь может мне помочь. Я просто хочу установить фоновое изображение и расположить его для объекта Droid из самого класса Droid.

61
задан Brian Tompsett - 汤莱恩 14 June 2015 в 10:08
поделиться