Je veux faire quelque chose de simple sur une application androïde. Comment est-il possible de revenir à une activité précédente.
De quel code ai-je besoin pour revenir à l'activité précédente ?
Les activités Android sont stockées dans la pile d'activités. Revenir à une activité précédente peut signifier deux choses.
Vous avez ouvert la nouvelle activité à partir d'une autre activité avec startActivityForResult. Dans ce cas, il vous suffit d'appeler la fonction finishActivity() depuis votre code pour revenir à l'activité précédente.
Gardez la trace de la pile d'activités. Chaque fois que vous démarrez une nouvelle activité avec une intention, vous pouvez spécifier un drapeau d'intention comme FLAG_ACTIVITY_REORDER_TO_FRONT
ou FLAG_ACTIVITY_PREVIOUS_IS_TOP
. Vous pouvez l'utiliser pour mélanger les activités dans votre application. Je ne les ai pas beaucoup utilisés cependant. Jetez un coup d'oeil aux drapeaux ici : http://developer.android.com/reference/android/content/Intent.html
Comme mentionné dans les commentaires, si l'activité est ouverte avec startActivity()
alors on peut la fermer avec finish()
.
Si vous souhaitez utiliser le bouton Haut, vous pouvez l'attraper dans la méthode onOptionsSelected(MenuItem item)
en vérifiant l'ID de l'élément par rapport à android.R.id.home
contrairement à R.id.home
comme mentionné dans les commentaires.
Vous souhaitez prendre le contrôle du comportement du bouton retour ? Vous pouvez remplacer le bouton retour (pour accéder à une activité spécifique) par l'une des deux méthodes suivantes.
Pour Android 1.6 et inférieur :
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
// do something on back.
return true;
}
return super.onKeyDown(keyCode, event);
}
Ou si vous ne prenez en charge qu'Android 2.0 ou supérieur :
@Override
public void onBackPressed() {
// do something on back.
return;
}
Pour plus de détails : http://android-developers.blogspot.com/2009/12/back-and-other-hard-keys-three-stories.html