Autore Topic: lancio di activity in oncreate  (Letto 666 volte)

Offline Trigun

  • Utente normale
  • ***
  • Post: 183
  • Respect: +4
    • Mostra profilo
lancio di activity in oncreate
« il: 22 Gennaio 2012, 19:59:45 CET »
0
ho un problema strano nel lancio di una nuova activity...
praticamente sto cercando di fare una pagina di setting
al lancio dell'app mi controlla se ci sono i setting e in assenza mi manda all'activity per impostarli...
praticamente questo controllo l'ho messo all'onStart dell'activity in questo modo:
Codice: [Seleziona]
        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                context = this;
                if (checkPreferencesData()) {
                        Intent myIntent = new Intent(this, Settings.class);
                        this.startActivity(myIntent);
                } else {

quando mi esegue lo startactivity mi si blocca con questo errore:
Codice: [Seleziona]
01-22 19:55:12.620: E/AndroidRuntime(18388): FATAL EXCEPTION: main
01-22 19:55:12.620: E/AndroidRuntime(18388): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.work.listino/com.work.listino.ListinoOrdini}: java.lang.NullPointerException
01-22 19:55:12.620: E/AndroidRuntime(18388):         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
01-22 19:55:12.620: E/AndroidRuntime(18388):         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
01-22 19:55:12.620: E/AndroidRuntime(18388):         at android.app.ActivityThread.access$1500(ActivityThread.java:117)
01-22 19:55:12.620: E/AndroidRuntime(18388):         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
01-22 19:55:12.620: E/AndroidRuntime(18388):         at android.os.Handler.dispatchMessage(Handler.java:99)
01-22 19:55:12.620: E/AndroidRuntime(18388):         at android.os.Looper.loop(Looper.java:130)
01-22 19:55:12.620: E/AndroidRuntime(18388):         at android.app.ActivityThread.main(ActivityThread.java:3691)
01-22 19:55:12.620: E/AndroidRuntime(18388):         at java.lang.reflect.Method.invokeNative(Native Method)
01-22 19:55:12.620: E/AndroidRuntime(18388):         at java.lang.reflect.Method.invoke(Method.java:507)
01-22 19:55:12.620: E/AndroidRuntime(18388):         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
01-22 19:55:12.620: E/AndroidRuntime(18388):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
01-22 19:55:12.620: E/AndroidRuntime(18388):         at dalvik.system.NativeStart.main(Native Method)
01-22 19:55:12.620: E/AndroidRuntime(18388): Caused by: java.lang.NullPointerException
01-22 19:55:12.620: E/AndroidRuntime(18388):         at com.work.listino.ListinoOrdini.onStart(ListinoOrdini.java:138)
01-22 19:55:12.620: E/AndroidRuntime(18388):         at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1129)
01-22 19:55:12.620: E/AndroidRuntime(18388):         at android.app.Activity.performStart(Activity.java:3817)
01-22 19:55:12.620: E/AndroidRuntime(18388):         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1624)
01-22 19:55:12.620: E/AndroidRuntime(18388):         ... 11 more

perché nullpointerexception ?

utilizzando lo stesso codice di lancio su un menu mi funziona...

ho messo un breakpoint nella classe settings e ovviamente non parte... quindi il problema è prima... ma prima c'e' solo quello...

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:lancio di activity in oncreate
« Risposta #1 il: 22 Gennaio 2012, 20:03:20 CET »
+1
Codice: [Seleziona]
01-22 19:55:12.620: E/AndroidRuntime(18388):         at com.work.listino.ListinoOrdini.onStart(ListinoOrdini.java:138)
Questo ti dice che alla riga 128 di ListinoOrdini.java c'è qualcosa che è NULL e non dovrebbe esserlo. Se non è evidente dal codice, fai un Log.d delle variabili usate in quella riga.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Trigun

  • Utente normale
  • ***
  • Post: 183
  • Respect: +4
    • Mostra profilo
Re:lancio di activity in oncreate
« Risposta #2 il: 22 Gennaio 2012, 20:03:27 CET »
0
ho capito... era un problema dopo... mi faceva partire la classe onStart che causava l'errore... sto cominciando a capire come si legge il logcat :-)

Offline Trigun

  • Utente normale
  • ***
  • Post: 183
  • Respect: +4
    • Mostra profilo
Re:lancio di activity in oncreate
« Risposta #3 il: 22 Gennaio 2012, 20:07:11 CET »
0
altro problemino... dopo aver messo i dati dei setting mi dovrebbe tornare nella classe principale...
però poichè la classe esiste non mi lancia l'onCreate... come faccio a forzarlo?



avevo messo singleActivity sul manifest...
in realtà preferirei che sia singola... per motivi di carico... l'activity è pesante quindi sarebbe meglio che non ci fosse + di 1 copia aperta :-P
togliendolo ovviamente funziona... ma non è proprio l'ideale...

ci sono modi migliori?
« Ultima modifica: 22 Gennaio 2012, 20:15:28 CET da Trigun »