Sobre programacion Android

Buenas a todos,no se si esto ira aqui,si no es asi movedlo.

Tengo primeramente una duda,la iamgen en android solo se puede pintar en un OnDraw de una clase que extienda de View?

Estoy intentando hacer un juego en android bastante simple,pero ya me he encontrado con el primer problema que soy incapaz de resolver,que no se que hago mal,mi idea es tener un boton y cuando le des a ese boton en el OnClick,que se cambie la imagen de posicion,he conseguido visualizar la imagen donde yo quiero haciendo una clase que extienda de View y sobreescribiendo el OnDraw,el problema viene cuando intento poner el boton y asociarle el Listener,siempre me da nullpointerException,no tengo ni idea de porque,a continuacion os pongo el codigo a ver si alguien me ilumina.

import android.app.Activity;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class EjemploGraficosActivity extends Activity implements OnClickListener {

Button miBoton;
@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(new EjemploView(this));
miBoton.setOnClickListener(this);
}

public class EjemploView extends View {

Drawable miImagen;


public EjemploView (Context context) {

super(context);
Resources res = context.getResources();

miImagen= res.getDrawable(R.drawable.yorkshire);

miImagen.setBounds(30,30,200,200);


}

@Override

protected void onDraw(Canvas canvas) {

miImagen.draw(canvas);
miImagen.setBounds(90,90,200,200);
miImagen.draw(canvas);
invalidate();
}



}

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

}
}
1 respuesta