Autore Topic: problema force close al cambio di activity  (Letto 863 volte)

Offline Ansem

  • Utente junior
  • **
  • Post: 107
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC HD2
  • Sistema operativo:
    4.0.4
problema force close al cambio di activity
« il: 27 Aprile 2012, 11:16:52 CEST »
0
Raga ho un problema assurdo .-. in pratica quando cambio activity l'applicazione mi crasha!il problema è che me lo fa solo con l'activity scelta,mentre con entrata non ho nessun problema.
di seguito vi metto il codice di scelta e del cambio:
Codice: [Seleziona]
//la seconda activity da lanciare
                                Intent intent;
                                String pkg=getPackageName();                            
                                intent=new Intent(getApplicationContext(), scelta.class);
                                //inseriamo i dati nell'intent
                                String parts[] = risp.split("/");
                                intent.putExtra(pkg+".myNome", parts[0]);
                                intent.putExtra(pkg+".myId", parts[1]);
                                startActivity(intent);

Codice: [Seleziona]
public class scelta extends Activity {
        /** Called when the activity is first created. */
        //@Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.entrata);
                /*
                Intent intent=getIntent(); // l'intent di questa activity
            String pkg=getPackageName();   
            String nome=intent.getStringExtra(pkg+".myNome");  //prendiamo i dati         
            TextView tvNome =  (TextView) findViewById(R.id.txtNome);
                tvNome.setText(nome);*/
        }
       
       
        //pulsante per il checkin
        /*public void checnkin (View v){
                Intent intent;
                String pkg=getPackageName();                            
                intent=new Intent(getApplicationContext(), entrata.class);
                startActivity(intent);
        }*/
       
}

Di seguito il logcat
Codice: [Seleziona]
04-27 09:15:23.505: E/AndroidRuntime(564): FATAL EXCEPTION: main
04-27 09:15:23.505: E/AndroidRuntime(564): java.lang.IllegalStateException: Could not execute method of the activity
04-27 09:15:23.505: E/AndroidRuntime(564):         at android.view.View$1.onClick(View.java:2072)
04-27 09:15:23.505: E/AndroidRuntime(564):         at android.view.View.performClick(View.java:2408)
04-27 09:15:23.505: E/AndroidRuntime(564):         at android.view.View$PerformClick.run(View.java:8816)
04-27 09:15:23.505: E/AndroidRuntime(564):         at android.os.Handler.handleCallback(Handler.java:587)
04-27 09:15:23.505: E/AndroidRuntime(564):         at android.os.Handler.dispatchMessage(Handler.java:92)
04-27 09:15:23.505: E/AndroidRuntime(564):         at android.os.Looper.loop(Looper.java:123)
04-27 09:15:23.505: E/AndroidRuntime(564):         at android.app.ActivityThread.main(ActivityThread.java:4627)
04-27 09:15:23.505: E/AndroidRuntime(564):         at java.lang.reflect.Method.invokeNative(Native Method)
04-27 09:15:23.505: E/AndroidRuntime(564):         at java.lang.reflect.Method.invoke(Method.java:521)
04-27 09:15:23.505: E/AndroidRuntime(564):         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
04-27 09:15:23.505: E/AndroidRuntime(564):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
04-27 09:15:23.505: E/AndroidRuntime(564):         at dalvik.system.NativeStart.main(Native Method)
04-27 09:15:23.505: E/AndroidRuntime(564): Caused by: java.lang.reflect.InvocationTargetException
04-27 09:15:23.505: E/AndroidRuntime(564):         at com.homelinux.agnese.EasyParkingActivity.accesso(EasyParkingActivity.java:143)
04-27 09:15:23.505: E/AndroidRuntime(564):         at java.lang.reflect.Method.invokeNative(Native Method)
04-27 09:15:23.505: E/AndroidRuntime(564):         at java.lang.reflect.Method.invoke(Method.java:521)
04-27 09:15:23.505: E/AndroidRuntime(564):         at android.view.View$1.onClick(View.java:2067)
04-27 09:15:23.505: E/AndroidRuntime(564):         ... 11 more
04-27 09:15:23.505: E/AndroidRuntime(564): Caused by: java.lang.ArrayIndexOutOfBoundsException
04-27 09:15:23.505: E/AndroidRuntime(564):         ... 15 more

Offline pivoide

  • Utente junior
  • **
  • Post: 133
  • Respect: +19
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy tab 10.1
  • Play Store ID:
    codicerosso
  • Sistema operativo:
    Ubuntu 11.04
Re:problema force close al cambio di activity
« Risposta #1 il: 27 Aprile 2012, 11:33:13 CEST »
0
Giusto per scrupolo ma hai controllato che il vettore parts dopo lo split contenga effettivamente almeno due elementi? Poiché segnala un ArrayOutofBoundException  potrebbe essere lì il problema.
Odio l'inglese e per un informatico non è il massimo

Offline Ansem

  • Utente junior
  • **
  • Post: 107
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC HD2
  • Sistema operativo:
    4.0.4
Re:problema force close al cambio di activity
« Risposta #2 il: 27 Aprile 2012, 11:35:53 CEST »
0
Giusto per scrupolo ma hai controllato che il vettore parts dopo lo split contenga effettivamente almeno due elementi? Poiché segnala un ArrayOutofBoundException  potrebbe essere lì il problema.
il controllo non l'ho fatto,ma sostituendo a scelta l'altra activity entrata questo force close non si verifica,e i due elementi ci sono sempre stati.
Mi sembra quindi molto strano che solo con scelta io non abbia i due elementi

Offline Ansem

  • Utente junior
  • **
  • Post: 107
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC HD2
  • Sistema operativo:
    4.0.4
Re:problema force close al cambio di activity
« Risposta #3 il: 27 Aprile 2012, 17:45:06 CEST »
0
Raga ho controllato,l'applicazione funziona bene fino a quando non parte "startActivity(intent)".
Da lì c'è qualcosa che fa crashare l'applicazione :/ come faccio a sapere ora dove sta il problema?
come ho detto la cosa strana è che il metodo è corretto se utilizzato con un'altra classe,ma se usato con scelta l'applicazione va in crash,quindi presumo che l'errore sia un "scelta".
Qualcuno mi potrebbe aiutare a capire cosa c'è di sbagliato?

Offline pivoide

  • Utente junior
  • **
  • Post: 133
  • Respect: +19
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy tab 10.1
  • Play Store ID:
    codicerosso
  • Sistema operativo:
    Ubuntu 11.04
Re:problema force close al cambio di activity
« Risposta #4 il: 27 Aprile 2012, 17:48:16 CEST »
0
Ma che c'è alla riga dove va in eccezione? Dal codice che hai inviato non si vede.
Odio l'inglese e per un informatico non è il massimo

Offline Ansem

  • Utente junior
  • **
  • Post: 107
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC HD2
  • Sistema operativo:
    4.0.4
Re:problema force close al cambio di activity
« Risposta #5 il: 27 Aprile 2012, 18:16:07 CEST »
0
posso mettervi altro codice,ma non credo serva. Il problema è per forza tra la il richiamo di "scelta" e "scelta".
Ho provato anche a richiamare un altro layouts con scelta per vedere se per caso l'errore era lì,ma i force close sono continuati :(

Offline pivoide

  • Utente junior
  • **
  • Post: 133
  • Respect: +19
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy tab 10.1
  • Play Store ID:
    codicerosso
  • Sistema operativo:
    Ubuntu 11.04
Re:problema force close al cambio di activity
« Risposta #6 il: 27 Aprile 2012, 18:29:30 CEST »
0
Scusa ma se segnali un errore senza indicare la riga che va in errore credo che per molti sia difficile aiutarti aldilà delle capacità e conoscenze di ognuno di noi.
at com.homelinux.agnese.EasyParkingActivity.accesso(EasyParkingActivity.java:143). Che hai in quella riga che manda in errore?
Odio l'inglese e per un informatico non è il massimo

Offline Ansem

  • Utente junior
  • **
  • Post: 107
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC HD2
  • Sistema operativo:
    4.0.4
Re:problema force close al cambio di activity
« Risposta #7 il: 27 Aprile 2012, 18:36:45 CEST »
0
Scusa ma se segnali un errore senza indicare la riga che va in errore credo che per molti sia difficile aiutarti aldilà delle capacità e conoscenze di ognuno di noi.
at com.homelinux.agnese.EasyParkingActivity.accesso(EasyParkingActivity.java:143). Che hai in quella riga che manda in errore?
alla riga 143 ho questo:
intent.putExtra(pkg+".myId", parts[1]);

che però funziona perfettamente se non elimino la riga 144:
startActivity(intent);

che fa quindi riferimento a
intent=new Intent(getApplicationContext(), scelta.class);

la cosa strana però è scelta è scritto bene,e che se io scrivo
intent=new Intent(getApplicationContext(), entrata.class);
mi apre l'activity entrata senza problemi

Offline pivoide

  • Utente junior
  • **
  • Post: 133
  • Respect: +19
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy tab 10.1
  • Play Store ID:
    codicerosso
  • Sistema operativo:
    Ubuntu 11.04
Re:problema force close al cambio di activity
« Risposta #8 il: 27 Aprile 2012, 18:48:43 CEST »
0
Io andrei di debug a controllare nei vari casi quel vettore visto che dice chiaramente ArrayOutOfBounds
Odio l'inglese e per un informatico non è il massimo

Offline Angelus84

  • Utente junior
  • **
  • Post: 59
  • Respect: +1
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Next
  • Play Store ID:
    Angelus
  • Sistema operativo:
    Windows 7
Re:problema force close al cambio di activity
« Risposta #9 il: 27 Aprile 2012, 18:52:32 CEST »
+1
Potrà essere banale, ma hai dichiarato activity "scelta" nel manifest.xml?

Offline Ansem

  • Utente junior
  • **
  • Post: 107
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC HD2
  • Sistema operativo:
    4.0.4
R: Re:problema force close al cambio di activity
« Risposta #10 il: 27 Aprile 2012, 18:58:09 CEST »
0
Potrà essere banale, ma hai dichiarato activity "scelta" nel manifest.xml?
Vado a sotterrarmi...

Inviato dal mio amato hd2 con tapatalk

Offline Angelus84

  • Utente junior
  • **
  • Post: 59
  • Respect: +1
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Next
  • Play Store ID:
    Angelus
  • Sistema operativo:
    Windows 7
Re:problema force close al cambio di activity
« Risposta #11 il: 27 Aprile 2012, 19:04:04 CEST »
0
Può capitare non ti preoccupare. L'importante è risolvere.

Offline Ansem

  • Utente junior
  • **
  • Post: 107
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC HD2
  • Sistema operativo:
    4.0.4
Re:problema force close al cambio di activity
« Risposta #12 il: 29 Aprile 2012, 15:47:28 CEST »
0
finalmente funziona XD
gente io ho solo un dubbio su un if che non so per quale motivo non funziona:
if ((risp=="0123") || (risp.length()>40))
vorrei che se la risposta fosse uguale a "0123" o più lunga di 40 caratteri mi dia errore,altrimenti che mi apra l'activity.
il problema è che qualsiasi cosa arrivi mi apre sempre l'activty,anche se la risposta è "0123".
ovviamente il messaggio di errore è nello then,e l'activity nell'else!
« Ultima modifica: 29 Aprile 2012, 16:24:59 CEST da Ansem »

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:problema force close al cambio di activity
« Risposta #13 il: 29 Aprile 2012, 16:57:34 CEST »
+1
Conosci poco Java. In Java operatore == confronta oggetti non stringe:

Codice: [Seleziona]
if (("0123".equals(risp) || (risp.length()>40))
adb logcat | tee /tmp/logcat | grep TAG

Offline Ansem

  • Utente junior
  • **
  • Post: 107
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC HD2
  • Sistema operativo:
    4.0.4
Re:problema force close al cambio di activity
« Risposta #14 il: 29 Aprile 2012, 17:07:20 CEST »
0
purtroppo con java questo è il mio primo lavoro,quindi sì,lo conosco molto poco :(