En mi aplicación tengo muchas clases y actividades. Droid es una clase que no tiene contexto. Mygame es una clase que extiende SurfaceView e implementa SurfaceHolder.Callback. Estoy creando un objeto de Droid en mygame class y estableciendo la imagen de fondo y la posición para él. El código que he escrito para esto se da a continuación.¿Cómo llamar a getResources() de una clase que no tiene contexto?
block1 = new Droid(BitmapFactory.decodeResource(getResources(), R.drawable.birdpic), 100, 10);
El constructor de la clase Droid se da a continuación.
public Droid(Bitmap bitmap, int x, int y) {
this.bitmap = bitmap;
this.x = x;
this.y = y;
}
En un escenario particular que tengo que configurar la imagen de fondo y la posición del objeto de la clase Droid Droid itself.Here estoy frente a la issue.Given a continuación es el fragmento de código para hacer esto.
if(checkflag)
{
myObj.centerblock=new Droid(BitmapFactory.decodeResource(getResources(), R.drawable.blast), myObj.xpos, myObj.ypos);
}
El problema es que la clase Droid no tiene contexto. Entonces no puedo usar getResources() aquí. He intentado con el siguiente código pero falla.
if(checkflag)
{
myObj.centerblock=new Droid(BitmapFactory.decodeResource(myObj.getResources(), R.drawable.blast), myObj.xpos, myObj.ypos);
}
¿Alguien me puede ayudar. Solo quiero establecer la imagen de fondo y ubicarla para el objeto Droid desde la clase Droid.
posible duplicado de [Utilización getResources() en la clase de inactividad] (http://stackoverflow.com/ preguntas/7666589/using-getresources-in-non-activity-class) –