Canvas in onDraw() richtig übergeben

D

didisoft

Neues Mitglied
0
Hi Leute!
Ich hab mich auch mal hier angemeldet, da es in keinem anderen Forum solche Profis gibt :D *SchleimSchleim*

Naja, kommen wir zur Sache:
Hab so ne stink normale App, die nicht geht. :ohmy:
Und zwar wird in meiner onDraw() Methode immer eine NullPointerException verursacht, und zwar immer wenn ich zum Beispiel canvas.drawBitmap oder canvas.drawColor() benutze...
Hier meine onDraw() Methode:
Code:
@Override
	protected void onDraw(Canvas canvas) {
		super.onDraw(canvas);
		java.lang.System.out.println("onDraw() wird aufgerufen."); //Um zu sehen pb die Methode überhaupt aufgerufen wird, ja, wird sie.
		canvas.drawColor(Color.RED);
		density = getResources().getDisplayMetrics().density; //brauch ich eben, sollte hier aber unwichtig sein...
		canvas.drawBitmap(teacher, 0, 0, null);

	}

Und hier der Thread (in einer inneren Klasse), in dem ich die onDraw() Methode aufrufe:

Code:
public class gameThread implements Runnable {
		
		public gameThread() {
		}
	@SuppressLint("WrongCall")
	@Override
	public void run() {
//Testigkeitshalber :D
		java.lang.System.out.println("run() wird aufgerufen.");  
		while (running) {
			Canvas theCanvas = null;
			try {
				theCanvas = theView.getHolder().lockCanvas();
				synchronized (theView.getHolder()) {
					theView.onDraw(theCanvas);
				}
			} finally {
				if (theCanvas != null) {
					      theView.getHolder().unlockCanvasAndPost(theCanvas);
				}
			}
		}
	}
	}

theView ist...
Code:
private ftgv theView;
ttgv ist eben die View-Klasse. Die gameThread Klasse befindet sich in der View Klasse, und theView wird als globale Variable in der View Klasse deklariert. Den Thread starte ich in dem Konstruktor der View Klasse.

Weiß echt nicht was ich falsch mache... Wegen so einer Kleinigkeit kann man sich nicht um die wichtigen Dinge kümmern :sad:
Naja, hoffe einer von euch kann mir da helfen...
Achso und die BitMap ist auch definiert... liegt also nicht daran.

Freu mich schon auf eure Tipps!
LG, David.
 

Ähnliche Themen

S
Antworten
7
Aufrufe
1.197
swa00
swa00
D
Antworten
23
Aufrufe
2.662
Data2006
D
M
Antworten
8
Aufrufe
961
deek
D
Zurück
Oben Unten