App Crash bei setBackgroundDrawable (canvas)

  • 3 Antworten
  • Letztes Antwortdatum
F

Frostymanu

Neues Mitglied
1
Hey Leute,

so langsam bin ich am verzweifeln...ich möchte das mein gezeichnetes Canvaszeug z.B. auf ein View (oder auch was anderes) gebracht wird. Also habe ich eine Bitmap erstellt wo das Canvas drauf kommt und die Bitmap soll dann als Background von einem View gesetzt werden nur irgendwie crasht die App dann immer an dieser stelle.

Hier der Code:

Code:
protected void onDraw(Canvas canvas) {
			super.onDraw(canvas);
	    	
	    	Bitmap lockbitmap = Bitmap.createBitmap(canvas.getWidth(), canvas.getHeight(), Bitmap.Config.ARGB_8888);
	    	canvas = new Canvas(lockbitmap);
	    	
	    	Paint circlepaint = new Paint();
	    	circlepaint.setColor(Color.argb(120, 255, 255, 255));
	    	circlepaint.setStyle(Paint.Style.FILL);
	    	circlepaint.setAntiAlias(true);
	    	
	    	Paint lockpaint = new Paint(); 
	    	lockpaint.setColor(Color.argb(200, 80, 80, 80)); 
	    	lockpaint.setStyle(Style.FILL);
	    	lockpaint.setTextSize(24); 
	    	lockpaint.setTextAlign(Align.CENTER);
	    	
	    	Bitmap bmp = BitmapFactory.decodeResource( getResources(), R.drawable.bg);
	        Bitmap img = Bitmap.createScaledBitmap( bmp, canvas.getWidth(), canvas.getHeight(), true );
	        bmp.recycle();
	    	
	    	canvas.drawBitmap(img, 0, 0, null);
	    	canvas.drawCircle(canvas.getWidth()/2, canvas.getHeight()/2, (canvas.getWidth()*25/100), circlepaint);
	    	canvas.drawText("Locked", canvas.getWidth()/2, (canvas.getHeight()/2) - ((lockpaint.descent() + lockpaint.ascent()) / 2), lockpaint); 
	    	
	    	
	    	lockview.setBackgroundDrawable(new BitmapDrawable(lockbitmap));
	    	
	    }

Hat jemand vielleicht eine Lösung oder braucht ihr evtl. noch mehr Infos?
Danke im vorraus :)

mfg
 
Bei Crash bitte immer logcat. Danke

Gesendet von meinem GT-S5660 mit der Android-Hilfe.de App
 
Bitteschön ;D

05-04 12:03:18.830: E/AndroidRuntime(517): FATAL EXCEPTION: main
05-04 12:03:18.830: E/AndroidRuntime(517): java.lang.NullPointerException
05-04 12:03:18.830: E/AndroidRuntime(517): at de.mq.circle.CircleHome$lockcanvas.onDraw(CircleHome.java:71)
05-04 12:03:18.830: E/AndroidRuntime(517): at android.view.View.draw(View.java:10978)
05-04 12:03:18.830: E/AndroidRuntime(517): at android.view.ViewGroup.drawChild(ViewGroup.java:2887)
05-04 12:03:18.830: E/AndroidRuntime(517): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
05-04 12:03:18.830: E/AndroidRuntime(517): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
05-04 12:03:18.830: E/AndroidRuntime(517): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
05-04 12:03:18.830: E/AndroidRuntime(517): at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
05-04 12:03:18.830: E/AndroidRuntime(517): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
05-04 12:03:18.830: E/AndroidRuntime(517): at android.view.View.draw(View.java:10981)
05-04 12:03:18.830: E/AndroidRuntime(517): at android.widget.FrameLayout.draw(FrameLayout.java:450)
05-04 12:03:18.830: E/AndroidRuntime(517): at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2126)
05-04 12:03:18.830: E/AndroidRuntime(517): at android.view.ViewRootImpl.draw(ViewRootImpl.java:2026)
05-04 12:03:18.830: E/AndroidRuntime(517): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1634)
05-04 12:03:18.830: E/AndroidRuntime(517): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2442)
05-04 12:03:18.830: E/AndroidRuntime(517): at android.os.Handler.dispatchMessage(Handler.java:99)
05-04 12:03:18.830: E/AndroidRuntime(517): at android.os.Looper.loop(Looper.java:137)
05-04 12:03:18.830: E/AndroidRuntime(517): at android.app.ActivityThread.main(ActivityThread.java:4424)
05-04 12:03:18.830: E/AndroidRuntime(517): at java.lang.reflect.Method.invokeNative(Native Method)
05-04 12:03:18.830: E/AndroidRuntime(517): at java.lang.reflect.Method.invoke(Method.java:511)
05-04 12:03:18.830: E/AndroidRuntime(517): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
05-04 12:03:18.830: E/AndroidRuntime(517): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
05-04 12:03:18.830: E/AndroidRuntime(517): at dalvik.system.NativeStart.main(Native Method)
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: blackfire185
Welche Zeile ist den 71 bei dem Code den du gepostet hast?
Ich finde den logcat doch recht eindeutig.
NullPointer, jetzt musst du nur noch rausfinden was dort null ist und warum.

Aber da ich deine Zeilennummern nicht kenne.

Auf den ersten ganz flüchtigen Blick
könnte die zeile:

BitmapFactory.decodeResource( getResources(), R.drawable.bg);

evtl null zurück geben und somit bei deinem Versuch darauf zuzugreifen eine NullPointerException fliegen.
 

Ähnliche Themen

G
Antworten
0
Aufrufe
158
Gerdchen07
G
G
Antworten
1
Aufrufe
397
Gerdchen07
G
G
Antworten
13
Aufrufe
629
Gerdchen07
G
L
Antworten
3
Aufrufe
690
mips400
mips400
migi01
Antworten
26
Aufrufe
2.058
migi01
migi01
Zurück
Oben Unten