Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Android] [Résolu] -Erreur force close - Canvas

    26 mai 2013 à 0:33:09

    Bonjour,

    Je développe actuellement une application pour un projet scolaire, et je souhaite maintenant utiliser canvas pour répondre à une fonctionnalité du cahier des charges. Seulement impossible de lancer mon application : elle compile mais j'obtiens directement un force close. J'ai donc créé un nouveau programme avec aucune fonctionnalité pour voir où était le problème : si vous pouvez m'aider à comprendre où ça déraille dans ce court code, cela m'aiderait beaucoup :) :

    MainActivity.java

    package com.example.testscreen;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.view.View;
    
    public class MainActivity extends Activity {
    	
    	screen ecran = new screen(this);
    	
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		
    		super.onCreate(savedInstanceState);
    		setContentView(ecran); 
    	}
    	
    	public class screen extends View {
    		
    		public screen(Context context) {
    			super(context);
    			// TODO Auto-generated constructor stub
    		}
    	 
    		protected void onDraw(Canvas canvas) {
    			
    			super.onDraw(canvas);   
    			canvas.drawColor(Color.BLUE);
    	 
    		}
    	 
    	}
    }
    



    Et voici le logcat :

    05-26 00:17:32.551: I/Process(5079): Sending signal. PID: 5079 SIG: 9
    05-26 00:17:45.403: D/AndroidRuntime(5279): Shutting down VM
    05-26 00:17:45.403: W/dalvikvm(5279): threadid=1: thread exiting with uncaught exception (group=0x40fb22a0)
    05-26 00:17:45.403: E/AndroidRuntime(5279): FATAL EXCEPTION: main
    05-26 00:17:45.403: E/AndroidRuntime(5279): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.testscreen/com.example.testscreen.MainActivity}: java.lang.NullPointerException
    05-26 00:17:45.403: E/AndroidRuntime(5279):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2016)
    05-26 00:17:45.403: E/AndroidRuntime(5279):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2117)
    05-26 00:17:45.403: E/AndroidRuntime(5279):     at android.app.ActivityThread.access$700(ActivityThread.java:134)
    05-26 00:17:45.403: E/AndroidRuntime(5279):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1218)
    05-26 00:17:45.403: E/AndroidRuntime(5279):     at android.os.Handler.dispatchMessage(Handler.java:99)
    05-26 00:17:45.403: E/AndroidRuntime(5279):     at android.os.Looper.loop(Looper.java:137)
    05-26 00:17:45.403: E/AndroidRuntime(5279):     at android.app.ActivityThread.main(ActivityThread.java:4867)
    05-26 00:17:45.403: E/AndroidRuntime(5279):     at java.lang.reflect.Method.invokeNative(Native Method)
    05-26 00:17:45.403: E/AndroidRuntime(5279):     at java.lang.reflect.Method.invoke(Method.java:511)
    05-26 00:17:45.403: E/AndroidRuntime(5279):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1007)
    05-26 00:17:45.403: E/AndroidRuntime(5279):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:774)
    05-26 00:17:45.403: E/AndroidRuntime(5279):     at dalvik.system.NativeStart.main(Native Method)
    05-26 00:17:45.403: E/AndroidRuntime(5279): Caused by: java.lang.NullPointerException
    05-26 00:17:45.403: E/AndroidRuntime(5279):     at android.content.ContextWrapper.getResources(ContextWrapper.java:81)
    05-26 00:17:45.403: E/AndroidRuntime(5279):     at android.view.View.<init>(View.java:3296)
    05-26 00:17:45.403: E/AndroidRuntime(5279):     at com.example.testscreen.MainActivity$screen.<init>(MainActivity.java:24)
    05-26 00:17:45.403: E/AndroidRuntime(5279):     at com.example.testscreen.MainActivity.<init>(MainActivity.java:12)
    05-26 00:17:45.403: E/AndroidRuntime(5279):     at java.lang.Class.newInstanceImpl(Native Method)
    05-26 00:17:45.403: E/AndroidRuntime(5279):     at java.lang.Class.newInstance(Class.java:1319)
    05-26 00:17:45.403: E/AndroidRuntime(5279):     at android.app.Instrumentation.newActivity(Instrumentation.java:1068)
    05-26 00:17:45.403: E/AndroidRuntime(5279):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2007)
    05-26 00:17:45.403: E/AndroidRuntime(5279):     ... 11 more

    merci d'avance ! :)

    ps : j'ai suivi ceci : http://www.xtreamlua.com/forums/viewtopic.php?f=88&t=6302

    EDIT : Bon, apparemment c'etait simplement ma déclaration de variable screen qui n'était pas faite au bon endroit (il fallait la mettre dans le OnCreate() !!

    -
    Edité par BrokenDreamz 26 mai 2013 à 1:02:25

    • Partager sur Facebook
    • Partager sur Twitter

    [Android] [Résolu] -Erreur force close - Canvas

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown