Autore Topic: Gestione stack per chiudere solo alcune activity  (Letto 880 volte)

Offline doctorX

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
  • Sistema operativo:
    Ubuntu 10.04
Gestione stack per chiudere solo alcune activity
« il: 28 Giugno 2011, 19:12:53 CEST »
0
Ciao, ho realizzato un applicazione che utilizza 5 activity A B C D E.

C D E   sono delle activity in cui si può verificare un determinato evento.
Nel momento in cui si verifica questo evento vorrei chiudere le activity aperte tornando alla schermata B.

Visto che non so se l'evento si verifica in C , D o E vorrei realizzare un metodo che mi restutisca la lista delle activity nello stack ed eventualmente terminarle in modo da lasciare vive, in ogni caso, soltanto A e B.

Per esempio potri trovarmi nel caso in cui sono vive solo A B C D,
quindi l'evento si verifica in D,
quindi devo chiudere in cascata D e C.. per ritrovarmi in B..

Spero di essermi spiegato..qualcuno ha un idea??

Offline nirvana91

  • Nuovo arrivato
  • *
  • Post: 45
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Windows 7, Ubuntu 12.10
Re:Gestione stack per chiudere solo alcune activity
« Risposta #1 il: 28 Giugno 2011, 19:34:48 CEST »
0
beh forse dico una str****ta però potresti usare la classe http://developer.android.com/reference/android/app/ActivityGroup.html
In questo modo puoi raggruppare le activity da chiudere nell'activity group e chiuderle tutte in una volta.
inoltre ridefinendo l'onbackpressed puoi tornare all'activity che vuoi.
In questo tutorial ci dovrebbe essere tutto:  http://ericharlow.blogspot.com/2010/09/experience-multiple-android-activities.html
spero di esserti stato d'aiuto.

Offline doctorX

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
  • Sistema operativo:
    Ubuntu 10.04
Re:Gestione stack per chiudere solo alcune activity
« Risposta #2 il: 28 Giugno 2011, 20:00:19 CEST »
0
Grazie nirvana..mi sono appena ricollegato..
cmq nel tragitto fino a casa ho partorito io stesso una soluzione:
Ho pensato di tenere una variabile booleana globale nell'applicazione.
Se l'evento si verifica questa variabile viene posta a true e l'activity corrente termina.
Eventuali altre activity (solo C D E) controllano, in fase di ripresa , lo stato della variabile e terminano con finish()..
Non credo ci siano delle controindicazioni..
Cmq do anche un occhiata al tutorial e vedo di scrivere quacosa.. ti faccio sapere..

Offline doctorX

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
  • Sistema operativo:
    Ubuntu 10.04
Re:Gestione stack per chiudere solo alcune activity
« Risposta #3 il: 30 Giugno 2011, 08:32:36 CEST »
0
Alla fine ho implementato la mia soluzione e dopo vari test posso dire che funzona bene..
Ti ringrazio comunque per l'aiuto..
alla prossima ;-)

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:Gestione stack per chiudere solo alcune activity
« Risposta #4 il: 16 Luglio 2011, 09:49:43 CEST »
0
La cosa più logica sarebbe stato gestire tutto con i finish, StartactivityforResult e gli onResult secondo me

Offline TheTodd

  • Utente junior
  • **
  • Post: 58
  • Respect: +3
    • Mostra profilo
  • Dispositivo Android:
    samsung gs2
  • Play Store ID:
    sdmdev
  • Sistema operativo:
    window xp
Re:Gestione stack per chiudere solo alcune activity
« Risposta #5 il: 26 Settembre 2011, 10:40:45 CEST »
0
ho letto della possibilità di utilizzare il flag FLAG_ACTIVITY_CLEAR_TOP, così da far gestire ad android la "pulizia" dello stack che ne pensate?