Autore Topic: passaggio valori tra activity  (Letto 1308 volte)

Offline ghiro90

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Next Turbo
  • Sistema operativo:
    Mac OS X
passaggio valori tra activity
« il: 13 Settembre 2012, 10:14:11 CEST »
0
Ciao ragazzi, ho un problema nel passaggio di alcuni valori tra un'activity(1) e un'altra(2).Quando passo il valore l'applicazione si blocca e quando la vado a riaprire si trova sull'activity(2) con il valore passato...come mai???vi posto il codice in modo da potermi aiutare!!!


Activity 1

Codice (Java): [Seleziona]
var2 = (TextView) findViewById(R.id.Text_num1);
        String stringa2 = var2.getText().toString();
        intent2 = new Intent(getApplicationContext(), chiamata.class);    
        String pkg2 = getPackageName();
        intent2.putExtra(pkg2+".valore_da_trasferire2", stringa2);
        startActivity(intent2);


Activity 2

Codice (Java): [Seleziona]
var2 = (TextView) findViewById(R.id.numero1);
                Intent intent2=getIntent();
                String pkg2=getPackageName();
                Bundle extras2 = getIntent().getExtras();
                String  valore_ricevuto2 = extras2.getString(pkg2+".valore_da_trasferire2");
                var2.setText(valore_ricevuto2);
GRAZIE!!!!

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:passaggio valori tra activity
« Risposta #1 il: 13 Settembre 2012, 10:28:48 CEST »
0
Se "si blocca" nel senso che "si chiude", allora nel LogCat c'è scritto il perchè. Se hai difficoltà ad interpretarlo, isola le righe dell'errore e postale qua sul forum.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline ghiro90

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Next Turbo
  • Sistema operativo:
    Mac OS X
Re:passaggio valori tra activity
« Risposta #2 il: 13 Settembre 2012, 10:38:15 CEST »
0
Ecco il LogCat

Codice (Java): [Seleziona]
09-13 22:37:34.421: E/AndroidRuntime(638): java.lang.RuntimeException: Unable to start activity ComponentInfo{it.package.chiamata}: java.lang.NullPointerException
09-13 22:37:34.421: E/AndroidRuntime(638):      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
09-13 22:37:34.421: E/AndroidRuntime(638):      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
09-13 22:37:34.421: E/AndroidRuntime(638):      at android.app.ActivityThread.access$2300(ActivityThread.java:125)
09-13 22:37:34.421: E/AndroidRuntime(638):      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
09-13 22:37:34.421: E/AndroidRuntime(638):      at android.os.Handler.dispatchMessage(Handler.java:99)
09-13 22:37:34.421: E/AndroidRuntime(638):      at android.os.Looper.loop(Looper.java:123)
09-13 22:37:34.421: E/AndroidRuntime(638):      at android.app.ActivityThread.main(ActivityThread.java:4627)
09-13 22:37:34.421: E/AndroidRuntime(638):      at java.lang.reflect.Method.invokeNative(Native Method)
09-13 22:37:34.421: E/AndroidRuntime(638):      at java.lang.reflect.Method.invoke(Method.java:521)
09-13 22:37:34.421: E/AndroidRuntime(638):      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
09-13 22:37:34.421: E/AndroidRuntime(638):      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
09-13 22:37:34.421: E/AndroidRuntime(638):      at dalvik.system.NativeStart.main(Native Method)
09-13 22:37:34.421: E/AndroidRuntime(638): Caused by: java.lang.NullPointerException
09-13 22:37:34.421: E/AndroidRuntime(638):      at it.packageo.chiamata.onCreate(chiamata.java:48)
09-13 22:37:34.421: E/AndroidRuntime(638):      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-13 22:37:34.421: E/AndroidRuntime(638):      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
09-13 22:37:34.421: E/AndroidRuntime(638):      ... 11 more
« Ultima modifica: 13 Settembre 2012, 10:40:02 CEST da ghiro90 »

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:passaggio valori tra activity
« Risposta #3 il: 13 Settembre 2012, 10:59:10 CEST »
0
Ti spiego per le prossime volte: nel logcat devi cercare la riga dove viene indicato il file java della tua activity e il numero di riga in cui si è verificato il problema:

Citazione
09-13 22:37:34.421: E/AndroidRuntime(638): Caused by: java.lang.NullPointerException
09-13 22:37:34.421: E/AndroidRuntime(638):      at it.packageo.chiamata.onCreate(chiamata.java:48)

Alla riga 48 di chiamata.java c'è qualcosa che è NULL e non dovrebbe.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline ghiro90

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Next Turbo
  • Sistema operativo:
    Mac OS X
Re:passaggio valori tra activity
« Risposta #4 il: 13 Settembre 2012, 11:02:46 CEST »
0
La riga 48 è questa:

Codice (Java): [Seleziona]
String  valore_ricevuto = extras.getString(pkg+".valore_da_trasferire");
quindi valore_da_trasferire non lo carica?

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:passaggio valori tra activity
« Risposta #5 il: 13 Settembre 2012, 11:20:29 CEST »
0
Più probabilmente extras è null.

E comunque il codice che hai postato nell'ultimo messaggio è diverso da quello del primo.

Codice (Java): [Seleziona]
String  valore_ricevuto2 = extras2.getString(pkg2+".valore_da_trasferire2");
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store