Autore Topic: problemi nel recuperare degli extras al ritorno di un activity  (Letto 533 volte)

Offline n3tmaster

  • Utente junior
  • **
  • Post: 96
  • Respect: 0
    • Google+
    • lerocchi
    • Mostra profilo
  • Dispositivo Android:
    Nexus 4 - Nexus 7 - PadFone JB
  • Sistema operativo:
    Mac OSX 10.7
problemi nel recuperare degli extras al ritorno di un activity
« il: 24 Ottobre 2012, 11:02:13 CEST »
0
Salve a tutti,
ho un piccolo problema piuttosto strano. Ho un activity che alla fine della sua esecuzione mi rilascia in un intent un paio di Extra che voglio recuperare nel metodo onActivityResults della chiamante (chiaramente ho chiamato l'activity con il metodo startActivityForResult.
Il problema è che i due extras che ripasso NON si trovano nella prima Activity..non capisco il perché

questo è il codice di chiamata della Activity 2
Codice (Java): [Seleziona]
menu.add(0, 0 , 0, getResources().getString(R.string.settaggi_valute)).setOnMenuItemClickListener(
                                        new OnMenuItemClickListener() {

                                                @Override
                                                public boolean onMenuItemClick(MenuItem menuItem) {
                                                        Log.i(ACTIVITY_TAG, "onMenuItemClick "+ menuItem.getTitle());
                                                       
                                                        startActivityForResult(menuItem.getIntent(),VALUTA_MNG);
                                                        return true;
                                                }

                                        }).setIntent(new Intent(this, ValutaMng.class));
                       

come potete notare la chiamo da una voce di menu

questo di sotto è invece il codice che ho implementato quando voglio uscire dall'activity 2 per tornare a quella chiamante

Codice (Java): [Seleziona]
        Intent mioI = new Intent();
               
                mioI.putExtra("nomeValutaDefault", nome2Check);
                mioI.putExtra("idValuta", idValuta_default);
                setResult(RESULT_VALUTA,mioI);
                db.close();
                finish();


Infine questo è il codice che uso per recuperare gli extras nella onActivityResults

Codice (Java): [Seleziona]
 protected void onActivityResult(int requestCode, int resultCode, Intent data){
                       
                switch(requestCode){
                case VALUTA_MNG:
                        if(resultCode==RESULT_VALUTA){
                               
                               
                                mostraToast( getResources().getString(R.string.valuta_default)+""+data.getExtras().getString("nomeValutaDefault"));
                                idValutaDefault=data.getExtras().getInt("idValuta", -1);
                       
                        }
             }
}

Boh... da debug posso notare che sull'activity 2 i dati che inserisco negli Extras sono corretti..ma si "perdono" quando richiamo gli extras dall'activity chiamante... voi avete qualche idea?
Grazie infinite a tutti! XD
Leandro Rocchi
Software Developer - Geodatabase Designer

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:problemi nel recuperare degli extras al ritorno di un activity
« Risposta #1 il: 24 Ottobre 2012, 14:18:12 CEST »
0
Il codice mi sembra corretto... sicuramente sbagli altro.

Offline n3tmaster

  • Utente junior
  • **
  • Post: 96
  • Respect: 0
    • Google+
    • lerocchi
    • Mostra profilo
  • Dispositivo Android:
    Nexus 4 - Nexus 7 - PadFone JB
  • Sistema operativo:
    Mac OSX 10.7
Re:problemi nel recuperare degli extras al ritorno di un activity
« Risposta #2 il: 20 Dicembre 2012, 15:33:31 CET »
0
eh già... una bischerata che avevo fatto :P
Leandro Rocchi
Software Developer - Geodatabase Designer