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

E
Antworten
11
Aufrufe
1.133
evgkop
E
nowo84
Antworten
2
Aufrufe
421
nowo84
nowo84
F
Antworten
9
Aufrufe
515
swa00
swa00
G
Antworten
0
Aufrufe
265
Gerdchen07
G
Zurück
Oben Unten