2010-11-08 6 views
0

Mon programme Android a 4 activités: A -> B -> C -> DActivité Android Stack Question

Lorsque l'activité C activité D commence, l'activité C se ferme. (La méthode onStop() est appelée). Y at-il un moyen de dire pourquoi il se ferme?

+0

si vous utilisez startActivity() il ne Fermer. il cache C. Et quand D finit, C reprend. – ankitjaininfo

+0

StartActivity() et startActivityForResult() finissent toutes les deux par fermer l'activité C. Je n'arrive pas à comprendre pourquoi. – FoppyOmega

Répondre

1

Si C n'est plus visible une fois D commence (par exemple D est plein écran), puis C sera arrêté par le cycle de vie standard d'activité:

http://developer.android.com/guide/topics/fundamentals.html#actlife

+0

Je vois, donc onStop() étant appelé ne signifie pas nécessairement que mon activité est détruite. Bien que lorsque D se ferme, il retourne à B. Y a-t-il quelque chose que je puisse appeler de D pour revenir directement à C? – FoppyOmega

+0

alors quand vous appuyez sur le bouton retour de D, il saute C et revient à B? C'est inattendu, il devrait y avoir une progression linéaire basée sur la pile d'activité ... http://developer.android.com/guide/practices/ui_guidelines/activity_task_design.html#applications_activities –

+0

Une inspection plus approfondie, l'activité C est détruite lorsque il appelle D. Y at-il des moyens de vérifier comment ou qu'est-ce qui le détruit? – FoppyOmega