Autore Topic: setResult e back button  (Letto 788 volte)

Offline osa100

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: 0
    • Mostra profilo
setResult e back button
« il: 27 Novembre 2011, 15:33:31 CET »
0
Salve,
ho avviato un activity con startActivityForResult, nell'activity avviata uso setResult per inviare il risultato all'activity chiamante. La chiamata di setResult provoca un problema con il pulsante back, alla pressione del pulsante non è possibile passare alla vecchia view. Devo ricliccare di nuovo sul pulsante back per ritornare alla view precedente.
Ho provato ad inserire setResult in onBackPressed, ma nulla.
Sapete aiutarmi?

Offline alexAndroid

  • Utente normale
  • ***
  • Post: 185
  • Respect: +27
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Giò
  • Sistema operativo:
    Ubuntu 11.10; Windows XP
Re:setResult e back button
« Risposta #1 il: 27 Novembre 2011, 21:44:41 CET »
0
In linea teorica startActivityForResult dovrebbe ritornare all'attività chiamante qualora l'attività chiamata termini.
Dunque se A chiama B e dopo un pò B termina allora viene richiamata A (se non sbaglio).
Non l'ho provato, ma se nell'attività B fai:
Codice (Java): [Seleziona]
@Override
public void onBackPressed() {
   finish();
   super.onBackPressed();
}

Succede quel che sembra? Oppure niente?
Sei stato aiutato oppure il tuo problema è stato risolto? Allora premi il tasto THANKS E' un modo utile e carino per ringraziare chi ti è stato di aiuto.

Offline osa100

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: 0
    • Mostra profilo
Re:setResult e back button [RISOLTO]
« Risposta #2 il: 28 Novembre 2011, 10:46:11 CET »
0
In linea teorica startActivityForResult dovrebbe ritornare all'attività chiamante qualora l'attività chiamata termini.
Dunque se A chiama B e dopo un pò B termina allora viene richiamata A (se non sbaglio).
Non l'ho provato, ma se nell'attività B fai:
Codice (Java): [Seleziona]
@Override
public void onBackPressed() {
   finish();
   super.onBackPressed();
}

Succede quel che sembra? Oppure niente?
Ora funziona grazie!

Offline Jason88

  • Utente junior
  • **
  • Post: 73
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S
Re:setResult e back button
« Risposta #3 il: 15 Gennaio 2012, 18:30:48 CET »
0
scusami gentilmente potresti spiegarmi come usi il setresult??

Offline alexAndroid

  • Utente normale
  • ***
  • Post: 185
  • Respect: +27
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Giò
  • Sistema operativo:
    Ubuntu 11.10; Windows XP
Re:setResult e back button
« Risposta #4 il: 15 Gennaio 2012, 22:12:54 CET »
+1
Cerca sempre di vedere la documentazione ufficiale:  http://developer.android.com/reference/android/app/Activity.html#setResult(int)

Codice (Java): [Seleziona]
//Da scrivere nell'activity A
startActivityForResult(Intent intent, int requestCode);
// Parte la nuova activity con codice di richiesta requestCode

//Nella nuova activity B devi scrivere:
setResult(int resultCode);
finish();

//Nell'activity A devi implementare il metodo:
protected void onActivityResult (int requestCode, int resultCode, Intent data)
// Serve per intraprendere determinate azioni al termine dell'attività B
Sei stato aiutato oppure il tuo problema è stato risolto? Allora premi il tasto THANKS E' un modo utile e carino per ringraziare chi ti è stato di aiuto.