Je veux faire quelque chose de simple sur l'application Android. Comment est-il possible de revenir à une activité précédente.
De quel code ai-je besoin pour revenir à l'activité précédente
Je veux faire quelque chose de simple sur l'application Android. Comment est-il possible de revenir à une activité précédente.
De quel code ai-je besoin pour revenir à l'activité précédente
Réponses:
Les activités Android sont stockées dans la pile d'activités. Revenir à une activité précédente pourrait signifier deux choses.
Vous avez ouvert la nouvelle activité à partir d'une autre activité avec startActivityForResult . Dans ce cas, vous pouvez simplement appeler la fonction finishActivity () à partir de votre code et cela vous ramènera à l'activité précédente.
Gardez une trace de la pile d'activités. Chaque fois que vous démarrez une nouvelle activité avec une intention, vous pouvez spécifier un indicateur d'intention comme
FLAG_ACTIVITY_REORDER_TO_FRONT
ouFLAG_ACTIVITY_PREVIOUS_IS_TOP
. Vous pouvez l'utiliser pour basculer entre les activités de votre application. Je ne les ai cependant pas beaucoup utilisés. Jetez un œil aux drapeaux ici: http://developer.android.com/reference/android/content/Intent.htmlComme mentionné dans les commentaires, si l'activité est ouverte avec
startActivity()
alors on peut la fermer avecfinish()
. Si vous souhaitez utiliser le bouton Haut, vous pouvez attraper cela enonOptionsSelected(MenuItem item)
vérifiant l'ID de l'articleandroid.R.id.home
contrairementR.id.home
à ce qui est mentionné dans les commentaires.la source
Essayez
Activity#finish()
. C'est plus ou moins ce que fait le bouton de retour par défaut.la source
this.finish();
#
est un indicateur quifinish()
est une méthode non statique de la classe Activity. Ce n'est pas du Java valide, mais cela aide à expliquer comment utiliser la méthode..
, c'est-à-dire:Activity.someStaticMethod()
Il suffit d'écrire à la fin du clic () . Cela vous amènera à l'activité précédente.
la source
Juste ça
la source
Cela vous amènera à une activité précédente en gardant sa pile et en supprimant toutes les activités qui la suivent de la pile.
Par exemple, si la pile était A-> B-> C-> D et que vous démarrez B avec cet indicateur, la pile sera A-> B
la source
Voulez-vous prendre le contrôle du comportement du bouton de retour? Vous pouvez remplacer le bouton de retour (pour accéder à une activité spécifique) via l'une des deux méthodes.
Pour Android 1.6 et inférieur:
Ou si vous ne supportez qu'Android 2.0 ou supérieur:
Pour plus de détails: http://android-developers.blogspot.com/2009/12/back-and-other-hard-keys-three-stories.html
la source
Appelez simplement ces méthodes pour terminer l'activité en cours ou pour revenir en arrière par onBackPressed
OU
la source
si vous voulez aller juste pour aller à l'activité précédente, utilisez
OU
si vous voulez passer à la deuxième activité ou en dessous, utilisez ce qui suit:
la source
Ajoutez ceci dans votre méthode onCLick (), cela reviendra à votre activité précédente
ou Vous pouvez l'utiliser. Cela a parfaitement fonctionné pour moi
la source
Si vous avez correctement configuré le fichier AndroidManifest.xml avec l'activité parent, vous pouvez utiliser:
Où c'est votre activité enfant.
la source
Essayez ceci est agir comme vous devez appuyer sur le bouton de retour
la source
Vous pouvez explicitement appeler
onBackPressed
est le moyen le plus simple.Reportez- vous à l'activité précédente pour plus de détails.
la source
J'ai le même problème et
a bien fonctionné pour moi, les deux ont travaillé de la même façon, mais pas de chance avec
return
la source
Commencez la deuxième activité en utilisant l'intention (soit utiliser
startActivity
oustartActivityForResult
selon vos besoins). Maintenant, lorsque l'utilisateur appuie sur le bouton de retour, l'activité actuelle en haut sera fermée et la précédente sera affichée.Supposons maintenant que vous ayez deux activités, l'une pour sélectionner certains paramètres pour l'utilisateur, comme la langue, le pays, etc., et après l'avoir sélectionné, l'utilisateur clique sur le bouton Suivant pour accéder au formulaire de connexion (par exemple). Maintenant, si la connexion échoue, alors l'utilisateur sera sur l'activité de connexion, que se passe-t-il si la connexion réussit?
Si la connexion réussit, vous devez alors démarrer une autre activité. Cela signifie qu'une troisième activité sera lancée et qu'il y a toujours deux activités en cours. Dans ce cas, il sera bon de l'utiliser
startActivityForResult
. Une fois la connexion réussie, renvoyez les données OK à la première activité et fermez l'activité de connexion. Maintenant, lorsque les données sont reçues, démarrez la troisième activité et fermez la première activité en utilisant terminer.la source
Vous pouvez essayer ceci:
la source
Toutes les nouvelles activités / intentions par défaut ont un comportement précédent / précédent, sauf si vous avez codé un
finish()
sur l'activité appelante.la source
et si vous voulez cliquer sur le bouton revenir en arrière, simplement mettre
la source
Essayez cela, il fonctionne aussi bien sur le bouton de retour de la barre d' outils que sur le bouton de retour du matériel .
la source
Je suggère le NavUtils.navigateUpFromSameTask (), c'est facile et très simple, vous pouvez l'apprendre du développeur google. J'aimerais pouvoir vous aider!
la source
Il y a peu de cas pour revenir à votre activité précédente:
Cas 1: si vous voulez ramener le résultat à votre activité précédente, alors ActivityA.java
FBHelperActivity.java
Cas 2: Activité A -> FBHelperActivity ----> Activité A
ActivityA.java
FBHelperActivity.java
la source
Tout d'abord, chose que vous devez garder à l'esprit, si vous souhaitez revenir à une activité précédente. N'appelez ensuite pas la méthode finish () lorsque vous passez à une autre activité en utilisant Intent.
Après cela, vous avez deux façons de revenir de l'activité en cours à l'activité précédente:
Appelez simplement:
finish()
sous l'écouteur de clic de bouton, ou remplacez la méthode suivante pour sauvegarder en utilisant le bouton de retour du système:la source
Outre toutes les réponses mentionnées, leur est toujours une façon alternative de le faire, disons que vous avez deux classes, la classe A et la classe B.
Classe A, vous avez sélectionné certaines activités comme la case à cocher, imprimé certaines données et l'intention de la classe B. Classe B, vous souhaitez transmettre plusieurs valeurs à la classe A et conserver l'état précédent de la classe A, vous pouvez utiliser, essayez cette alternative ou téléchargez le code source pour le démontrer
http://whats-online.info/science-and-tutorials/125/Android-maintain-the-previous-state-of-activity-on-intent/
ou
http://developer.android.com/reference/android/content/Intent.html
la source
Essayez-le, première activité
Dans votre deuxième activité
la source