App Crash bei setBackgroundDrawable (canvas)

  • 3 Antworten
  • Neuester Beitrag
Diskutiere App Crash bei setBackgroundDrawable (canvas) im Android App Entwicklung im Bereich Betriebssysteme & Apps.
F

Frostymanu

Neues Mitglied
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
 
blackfire185

blackfire185

Stammgast
Bei Crash bitte immer logcat. Danke

Gesendet von meinem GT-S5660 mit der Android-Hilfe.de App
 
F

Frostymanu

Neues Mitglied
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:
A

amfa

Dauergast
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 - App Crash bei setBackgroundDrawable (canvas) Antworten Datum
5
3
3