CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: gianpassa con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 9 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 34 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 10 su 10
Discussione:

Applicazione con più Activity

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Androidiano


    Registrato dal
    Jun 2012
    Messaggi
    64

    Ringraziamenti
    3
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Applicazione con più Activity

    ragazzi avrei una domanda..supponiamo di voler creare un'applicazione con 2 Activity (per semplicità)..ho un'activity principale che alla pressione di un bottone richiama l'activity secondaria utilizzando un intent..come faccio dall'activity secondaria a passare di nuovo all'activity primaria? se utilizzo un intent quest'ultima mi riparte da zero o riprende dal punto in cui si era interrotta?

  2.  
  3. #2
    Baby Droid


    Registrato dal
    Jun 2012
    Messaggi
    14

    Ringraziamenti
    0
    Ringraziato 3 volte in 3 Posts
    Predefinito

    Con il metodo finish() chiudi la seconda e ritorna in primo piano la precedente Activity.

  4. #3
    Androidiano


    Registrato dal
    Jun 2012
    Messaggi
    64

    Ringraziamenti
    3
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da JeanAlesi Visualizza il messaggio
    Con il metodo finish() chiudi la seconda e ritorna in primo piano la precedente Activity.
    e il codice da dove riprende? Da dove si era fermato? o comincia tutto da capo?

  5. #4
    Baby Droid


    Registrato dal
    Jun 2012
    Messaggi
    14

    Ringraziamenti
    0
    Ringraziato 3 volte in 3 Posts
    Predefinito

    Quando appare la seconda activity la prima rimane congelata ovvero con il comando finish() 'chiude' la seconda e la prima riprende il 'focus' da dove si era fermata.
    Ciao

  6. #5
    Senior Droid L'avatar di frank17next


    Registrato dal
    Jan 2010
    Località
    Campobasso
    Messaggi
    739
    Smartphone
    GNexus, Galaxy Note, GT 10.1

    Ringraziamenti
    16
    Ringraziato 143 volte in 102 Posts
    Predefinito

    Per meglio specificare ulteriormente,
    nel caso dello startActivity nella prima Activity, 'al ritorno' viene chiamato il metodo onResume() della prima activity, che puoi anche customizzarne il comportamento con @Override


    Inviato dal mio GT-N7000 con Tapatalk 2
    Nexus 6 - 5.0.1 Stock
    Nexus 5 - 5.0.1 Stock + Root
    Galaxy Note 3 GT-N9005 - 4.4.4 Stock + Root
    Galaxy Tab 10.1 Slim P7500 - [JB] CyanogenMod 10 4.1.2 Pershoot (Nightly 20121013)
    ------------------------------------------------------------------------
    https://sites.google.com/site/frank17next/

  7. #6
    Androidiano


    Registrato dal
    Jun 2012
    Messaggi
    64

    Ringraziamenti
    3
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da frank17next Visualizza il messaggio
    Per meglio specificare ulteriormente,
    nel caso dello startActivity nella prima Activity, 'al ritorno' viene chiamato il metodo onResume() della prima activity, che puoi anche customizzarne il comportamento con @Override
    Quindi se ho un codice del genere:
    PrimaActivity{
    public void onCreate(){
    istruzione 1;
    istruzione 2;
    startActivity(Activity 2);
    istruzione 3;
    }
    public void onResume(){
    istruzione 4;
    }
    }
    quando ritorno alla prima activity viene eseguita l'istruzione 3 o l'istruzione 4?

  8. #7
    Senior Droid L'avatar di frank17next


    Registrato dal
    Jan 2010
    Località
    Campobasso
    Messaggi
    739
    Smartphone
    GNexus, Galaxy Note, GT 10.1

    Ringraziamenti
    16
    Ringraziato 143 volte in 102 Posts
    Predefinito

    Quote Originariamente inviato da cnicola90 Visualizza il messaggio
    Quindi se ho un codice del genere:
    PrimaActivity{
    public void onCreate(){
    istruzione 1;
    istruzione 2;
    startActivity(Activity 2);
    istruzione 3;
    }
    public void onResume(){
    istruzione 4;
    }
    }
    quando ritorno alla prima activity viene eseguita l'istruzione 3 o l'istruzione 4?
    Assolutamente viene eseguita la parte di codice nel metodo onResume(). Se non fai l'override del metodo per personalizzarlo semplicemente la trovi come l'hai lasciata

    Inviato dal mio GT-N7000 con Tapatalk 2
    Nexus 6 - 5.0.1 Stock
    Nexus 5 - 5.0.1 Stock + Root
    Galaxy Note 3 GT-N9005 - 4.4.4 Stock + Root
    Galaxy Tab 10.1 Slim P7500 - [JB] CyanogenMod 10 4.1.2 Pershoot (Nightly 20121013)
    ------------------------------------------------------------------------
    https://sites.google.com/site/frank17next/

  9. #8
    Androidiano


    Registrato dal
    Jun 2012
    Messaggi
    64

    Ringraziamenti
    3
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da frank17next Visualizza il messaggio
    Assolutamente viene eseguita la parte di codice nel metodo onResume(). Se non fai l'override del metodo per personalizzarlo semplicemente la trovi come l'hai lasciata

    Inviato dal mio GT-N7000 con Tapatalk 2
    quindi mi sembra di capire che se faccio l'override del metodo onResume() l'istruzione 3 non verrà mai eseguita altrimenti l'activity riprende proprio dall'istruzione 3 giusto?

  10. #9
    Androidiano


    Registrato dal
    Oct 2010
    Messaggi
    229

    Ringraziamenti
    27
    Ringraziato 77 volte in 35 Posts
    Predefinito

    No... il fatto che tu faccia o meno l'override di onResume non cambia l'esecuzione.
    Se non sbaglio (in caso correggetmi che il lifecycle delle activity android lo conosco relativamente al poco che ho "giocato" su android") verrà eseguito:
    istruzione 1
    istruzione 2
    startActivity()
    istruzione 3
    onPause()

    // Qui è in foreground l'activity appena lanciata, quando su questa seconda activity chiami finish

    onResume()
    istruzione 4

    Attenzione che onResume ti verrà chiamato anche al primo avvio della tua prima activity
    Stando al lifecycle ufficiale quindi quando avvierai la tua prima activity (quella che lancia l'altra per intenderci) avrai le seguenti chiamate:

    onCreate()
    onStart()
    onResume()

    Quindi l'istruzione 4 ti verrebbe eseguita (salvo che non ci siano delle gestioni condizionali della cosa) anche all'avvio della tua prima Activity.

    In teoria, la coppia onPause/onResume viene eseguita anche se l'utente riceve una chiamata o tramite il pulsante menu torna al menu principale.
    Detto in soldoni, onPause onResume dovrebbero eseguire solo istruzioni che riguardano l'activity stessa e che non siano condizionate da quale altra activity è stata lanciata, ma che siano relative al fatto che l'activity:
    è in foreground ed inizia ad interagire con l'utente (onResume)
    sta per andare in background (il sistema sta per passare ad altra activity) quindi salvataggi di stato, di dati pendenti, stop di animazioni, pausa di thread che non devono girare in background, ecc (onPause).

    Per cui, indipendentemente da dove, quando la tua seconda activity chiama finish() il controllo torna all'activity chiamante (ma NON nell'istruzione immediatamente successiva alla startActivity).

    Se il tuo scopo è eseguire del codice particolare dopo che la tua seconda activity è terminata, forse ti conviene guardare anche la startActivityForResult che fa si che, alla chiusura della tua seconda activity sulla chiamante venga invocata la onActivityResult.

    ciao
    Felice possessore di un LG O1 con GingerLOL 1.5.2 e di un Mediacom Smartpad 810c con Pistoneone 4.2.1 / 5.0 Samsung Galaxy Tab 10.1 P7510 (originale per ora) Mediacom Smartpad 715i (ROM smartpao 2.1), Mediacom Smartpad 842i (ROM smartpao 2.0)
    Mini-Forum-FAQ per Mediacom Smartpad 810c

  11. Il seguente Utente ha ringraziato pourquoipas per il post:

    cnicola90 (09-07-12)

  12. #10
    Baby Droid


    Registrato dal
    Jun 2012
    Messaggi
    14

    Ringraziamenti
    0
    Ringraziato 3 volte in 3 Posts
    Predefinito

    In sequenza:

    istruzione 1
    istruzione 2
    visualizza activity 2
    istruzione 3
    activity 1 OnPause
    chiudi activity 2
    activity 1 OnStart
    activity 1 OnResume



    Anticipato da pourquoipas
    Ultima modifica di JeanAlesi; 09-07-12 alle 11:06

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy