2012-09-24 3 views
1

J'ai ajouté une deuxième activité à mon application et j'ai écrit ceci dans AndroidManifest.xml mais j'ai toujours un problème. Je ne sais pas comment je peux le résoudre. Je suis sûr que mon code source est correct parce que je le réécris du livre. Mon logcat:Nouvelle activité - L'application ne démarre pas

09-24 15:41:16.359: E/AndroidRuntime(5735): FATAL EXCEPTION: main 
09-24 15:41:16.359: E/AndroidRuntime(5735): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.przyklad.sudoku/org.przyklad.sudoku.MainActivity}: java.lang.NullPointerException 
09-24 15:41:16.359: E/AndroidRuntime(5735):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1967) 
09-24 15:41:16.359: E/AndroidRuntime(5735):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992) 
09-24 15:41:16.359: E/AndroidRuntime(5735):  at android.app.ActivityThread.access$600(ActivityThread.java:127) 
09-24 15:41:16.359: E/AndroidRuntime(5735):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158) 
09-24 15:41:16.359: E/AndroidRuntime(5735):  at android.os.Handler.dispatchMessage(Handler.java:99) 
09-24 15:41:16.359: E/AndroidRuntime(5735):  at android.os.Looper.loop(Looper.java:137) 
09-24 15:41:16.359: E/AndroidRuntime(5735):  at android.app.ActivityThread.main(ActivityThread.java:4441) 
09-24 15:41:16.359: E/AndroidRuntime(5735):  at java.lang.reflect.Method.invokeNative(Native Method) 
09-24 15:41:16.359: E/AndroidRuntime(5735):  at java.lang.reflect.Method.invoke(Method.java:511) 
09-24 15:41:16.359: E/AndroidRuntime(5735):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
09-24 15:41:16.359: E/AndroidRuntime(5735):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
09-24 15:41:16.359: E/AndroidRuntime(5735):  at dalvik.system.NativeStart.main(Native Method) 
09-24 15:41:16.359: E/AndroidRuntime(5735): Caused by: java.lang.NullPointerException 
09-24 15:41:16.359: E/AndroidRuntime(5735):  at org.przyklad.sudoku.MainActivity.onCreate(MainActivity.java:19) 
09-24 15:41:16.359: E/AndroidRuntime(5735):  at android.app.Activity.performCreate(Activity.java:4465) 
09-24 15:41:16.359: E/AndroidRuntime(5735):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 
09-24 15:41:16.359: E/AndroidRuntime(5735):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1931) 
09-24 15:41:16.359: E/AndroidRuntime(5735):  ... 11 more 

C'est MainActivity.java

package org.przyklad.sudoku; 

import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.content.Intent; 
import android.view.View; 
import android.view.View.OnClickListener; 

public class MainActivity extends Activity implements OnClickListener { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

    // Konfigurujemy obiekty nasłuchujące kliknięć dla wszystkich przycisków 
     View przyciskKontynuacja = findViewById(R.id.przycisk_kontynuacja); 
     przyciskKontynuacja.setOnClickListener(this); 
     View przyciskNowa = findViewById(R.id.przycisk_nowa); 
     przyciskNowa.setOnClickListener(this); 
     View przyciskInformacje = findViewById(R.id.przycisk_informacje); 
     przyciskInformacje.setOnClickListener(this); 
     View przyciskWyjscie = findViewById(R.id.przycisk_wyjscie); 
     przyciskWyjscie.setOnClickListener(this); 

    } 
     public void onClick(View v){ 
      switch (v.getId()){ 
      case R.id.przycisk_informacje: 
       Intent i = new Intent(this, Informacje.class); 
       startActivity(i); 
       break; 

     } 
    } 
} 

et Informacje.java

package org.przyklad.sudoku; 

import android.app.Activity; 
import android.os.Bundle; 

public class Informacje extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState){ 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.informacje); 
    } 
} 
+1

Votre code source n'est pas correct. Vous obtenez une exception nullpointer dans onCreate() de MainActivity. Publiez cette méthode. –

+0

Veuillez également télécharger votre code. – Lucifer

+2

Vous obtenez 'NullPoinerException' sur la ligne 19 de' MainActvity.java'. Postez votre code afin que nous puissions avoir une meilleure idée de ce que vous essayez de faire. –

Répondre

2

livres Do pas confiance. Ils sont pleins de lettres et d'autres choses. De plus, comme votre stacktrace le suggère (lisez-le, il y a plein de bonnes choses dedans) Plus que dans votre livre, vous avez une référence nulle et vous essayez d'appeler une méthode dessus. L'appel se trouve dans MainActivity, ligne 19. Cela est dans la méthode onCreate.

Très probablement, c'est une référence de vue qui n'a pas été trouvée pour une raison. Éventuellement, vous avez oublié d'appeler setContentView