2010-10-12 4 views
1

J'ai 2 Activités A et B. Maintenant, ce sont mes objectifs.Naviguer parmi plusieurs activités

  1. Quand je suis dans B et si j'appuie sur le bouton Accueil , l'état de l'activité doit être sauvé. (Pas de problème avec cela.)
  2. Quand je commence B de A après l'étape 1 une nouvelle instance de B devrait être créé (i.e.) état précédent doit être mis au rebut.

Mais à l'étape 2, l'état B prévaut toujours. Comment puis-je accomplir mon objectif?

Répondre

3

Je pense qu'une solution possible serait de transmettre des informations supplémentaires à l'intérieur de l'intention de départ, lorsque vous démarrez l'activité B de A (comme une valeur booléenne). Et dans le "onStart()" de B, vous vérifiez si vous pouvez trouver cette information supplémentaire dans l'intention (vous l'obtenez avec getIntent()). Si ce n'est pas le cas, cela signifie que vous rechargez l'état précédent de l'activité. Si c'est le cas, vous ne le rechargez pas.

1

Vous ne devez même pas envoyer un booléen comme suggéré Scythe. Le Bundle savedInstanceState sera nul dans onCreate pour l'activité B si l'activité A vient de démarrer, alors qu'elle sera non nulle si vous revenez d'un état enregistré.

Questions connexes