Nella mia domanda ho molte classi e attività. Droid è una classe che non ha contesto. Mygame è una classe che estende SurfaceView e implementa SurfaceHolder.Callback. Sto creando un oggetto di Droid nella classe mygame e impostando l'immagine di sfondo e la posizione per esso. Di seguito il codice che ho scritto per questo.Come chiamare getResources() da una classe che non ha contesto?
block1 = new Droid(BitmapFactory.decodeResource(getResources(), R.drawable.birdpic), 100, 10);
Il costruttore di classe Droid è indicato di seguito.
public Droid(Bitmap bitmap, int x, int y) {
this.bitmap = bitmap;
this.x = x;
this.y = y;
}
In uno scenario particolare devo impostare l'immagine di sfondo e la posizione dell'oggetto Droid dalla classe Droid itself.Here sto affrontando l'issue.Given sotto è il frammento di codice per fare questo.
if(checkflag)
{
myObj.centerblock=new Droid(BitmapFactory.decodeResource(getResources(), R.drawable.blast), myObj.xpos, myObj.ypos);
}
Il problema è che la classe Droid non ha contesto. Quindi non posso usare getResources() qui. Ho provato il codice qui sotto ma si blocca.
if(checkflag)
{
myObj.centerblock=new Droid(BitmapFactory.decodeResource(myObj.getResources(), R.drawable.blast), myObj.xpos, myObj.ypos);
}
Qualcuno può aiutarmi. Voglio solo impostare l'immagine di sfondo e posizionarla per l'oggetto Droid dalla classe Droid stessa.
possibile duplicato del [Utilizzando getResources() in classe non-attività] (http://stackoverflow.com/ domande/7666589/using-getresources-in-non-activity-class) –