Autore Topic: Albero delle activity  (Letto 480 volte)

cribcaged

  • Visitatore
Albero delle activity
« il: 14 Giugno 2011, 13:57:58 CEST »
0
Salve a tutti,

è il mio primo post :)
spero di trovarmi bene in questa community

ad ogni modo il mio primo quesito è il seguente:

devo creare un'applicazione con il seguente workflow: nell'homepage sono presenti due pulsanti...uno porta ad una sequenza di activity e l'altro ad un'analoga sequenza:
              ricerca -> lista -> dettaglio
            /
home
           \  ricerca -> lista -> dettaglio

quello che ho fatto per ora io è la seguente cosa: dall'homepage creo un nuovo Intent e lo avvio con startActivity
poi all'interno del singolo flusso  succede che se la lista non è stata inizializzata con una ricerca, avvio l'activity ricerca con startActivityForResult, quando ottengo i dati della ricerca popolo la lista, quando l'utente clicca un elemento della lista, di nuovo startActivityForResult per il dettaglio della lista

in questo modo tutto funziona, quando sono nell'activity della ricerca o del dettaglio, se nel tasto menù metto un opzione 'torna alla lista' mi basta fare finish(); con RESULT_CANCELED e tutto funziona

i problemi che ho in questo modo sono due:
- devo fare che da TUTTE le activity è possibile dal tasto menù tornare alla Home: nel meccanismo che ho implementato io non ci riesco...se provo a fare un nuovo intent con la classe dell'homepage e poi faccio startActivity non mi funziona...
- devo anche avere il modo di poter passare per esempio dal dettaglio del primo flusso alla pagina di ricerca del secondo...questo vorrebbe dire che dalla pagina di dettaglio della prima lista (che ho aperto facendo un setActivityForResult) passo all'altro flusso...ma in questo modo come faccio a gestire il passaggio? mi conviene tipo fare finish(); e poi nell'activity del primo flusso gestire il fatto di passare all'altro ramo?

insomma quello che mi stavo chiedendo è come gestire correttamente l'albero delle activity in questo scenario!

Grazie a chiunque mi risponderà

Daniele