Autore Topic: Problema col passaggio tra un'activity e un'altra.  (Letto 629 volte)

Offline NicoMaster93

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
Problema col passaggio tra un'activity e un'altra.
« il: 01 Aprile 2015, 13:18:06 CEST »
0
Salve ragazzi. Allora il mio problema è questo. Quando io passo da un'activity 1 ad un'activity 2 (tramite "startActivity()") lo stato della 1 su cosa rimane? e come posso tornare alla prima activity evitando che si resetti? 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:Problema col passaggio tra un'activity e un'altra.
« Risposta #1 il: 01 Aprile 2015, 13:43:01 CEST »
0
Quello che chiami "reset" non è un problema vero e proprio, rappresenta il metodo secondo il quale vengono gestite. Come default, ogni volta che l'activity deve essere riportata in primo piano (cambio activity, uscita da standby telefono, cambio orientazione, etc), di fatto viene ricreata da zero. Se vuoi fare in modo che ricordi lo stato precedente, devi intercettare l'evento di chiusura dell'activity (esempio OnPause), salvare lo stato in qualche modo (sharedpreferences, database, altro), quindi intercettare l'evento di riapertura (esempio OnResume) e ripristinare il contenuto.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

iClaude

  • Visitatore
Re:Problema col passaggio tra un'activity e un'altra.
« Risposta #2 il: 02 Aprile 2015, 10:25:02 CEST »
0
Salve ragazzi. Allora il mio problema è questo. Quando io passo da un'activity 1 ad un'activity 2 (tramite "startActivity()") lo stato della 1 su cosa rimane? e come posso tornare alla prima activity evitando che si resetti? Grazie

Se da un Activity ne lanci un'altra con startActivity, e la prima non è più visibile, la prima Activity tipicamente  chiama in sequenza i metodi hook onPause() e onStop() e rimane nello stato stopped.
Di norma il sistema salva un'istanza della Activity in memoria (in pratica tutte le variabili sono mantenute) per cui è possibile ritornare alla prima Activity semplicemente premendo il tasto back, senza neppure bisogno di implementare il metodo onStop(). Salvo eccezioni.
Ti consiglio di leggere la guida Android ufficiale sul ciclo di vita delle Activity x maggiori dettagli.

Offline NicoMaster93

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
Re:Problema col passaggio tra un'activity e un'altra.
« Risposta #3 il: 02 Aprile 2015, 16:54:43 CEST »
0
Se da un Activity ne lanci un'altra con startActivity, e la prima non è più visibile, la prima Activity tipicamente  chiama in sequenza i metodi hook onPause() e onStop() e rimane nello stato stopped.
Di norma il sistema salva un'istanza della Activity in memoria (in pratica tutte le variabili sono mantenute) per cui è possibile ritornare alla prima Activity semplicemente premendo il tasto back, senza neppure bisogno di implementare il metodo onStop(). Salvo eccezioni.
Ti consiglio di leggere la guida Android ufficiale sul ciclo di vita delle Activity x maggiori dettagli.

Grazie mille per la risposta. Il mio problema è che il ritorno alla prima activity anche esse è gestito tramite un Button. Quindi non posso utilizzare il tasto back!

iClaude

  • Visitatore
Re:Problema col passaggio tra un'activity e un'altra.
« Risposta #4 il: 02 Aprile 2015, 17:34:32 CEST »
0
Grazie mille per la risposta. Il mio problema è che il ritorno alla prima activity anche esse è gestito tramite un Button. Quindi non posso utilizzare il tasto back!

Non cambia nulla. Per ritornare alla prima Activity devi chiamare il metodo finish() nella seconda e la prima Activity viene ripescata dallo stack trace.
Ho il sospetto invece che tu abbia chiamato di nuovo startActivity...

Offline LonelyWolf

  • Utente junior
  • **
  • Post: 148
  • Respect: +12
    • Mostra profilo
    • Traversate dei laghi
  • Dispositivo Android:
    GT-I9505, ALE-L21
  • Sistema operativo:
    Windows 7 32/64
Re:Problema col passaggio tra un'activity e un'altra.
« Risposta #5 il: 02 Aprile 2015, 17:36:42 CEST »
0
Mi sembra che bradipao ti abbia spiegato bene la situazione:
quindi nella prima activity salvi lo stato (a.e. in onPause), nella seconda activity quando devi ritornare alla prima secondo me è meglio che il bottone chiami la procedura del tasto back in modo da non avviare activity "a iosa"; a questo punto nella prima activity (a.e. in onResume) recuperi lo stato salvato e ripristini tutto.
Se la mia risposta ti è utile, per favore un thanks!

Offline NicoMaster93

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
Re:Problema col passaggio tra un'activity e un'altra.
« Risposta #6 il: 06 Aprile 2015, 18:10:10 CEST »
0
Ora provo ragazzi! Grazie mille dell'aiuto. Penso di aver capito.

Rettifico: Risolto! Ho fatto come ha detto iClaude e funziona perfettamente senza il bisogno di andare ad implementare il salvataggio dello stato di un'activity! Grazie mille.

Però mi sorge un dubbio. Nel caso io devo spostarmi tra più di due activity questo modo di utilizzare il "finish()" non mi da problemi??
« Ultima modifica: 08 Aprile 2015, 12:41:04 CEST da NicoMaster93 »