/ / Le bouton arrière d'Android doit se comporter comme un bouton UP - Android, Android-Activity

Le bouton arrière d'Android devrait se comporter comme un bouton UP - android, android-activity

Mon application propose plusieurs activités pouvant êtreconsidéré comme des niveaux séparés dans une hiérarchie. Vous choisissez un objet dans l'activité A, qui vous amène à l'activité B, où vous pouvez ajouter, modifier et supprimer des paramètres de niveau C, etc. Si j'avais parcouru A-> B-> C, sauvegardé mes modifications en C qui prend automatiquement de nouveau au niveau B, puis en appuyant sur le bouton de retour, cela me ramènerait à l’activité C, car c’était la dernière activité vue. Maintenant, je sais ce que vous allez dire. Utilisez android: noHistory = "true". Eh bien, je ne peux pas l'utiliser parce que certaines de ces activités ouvrent des boîtes de dialogue et lorsque vous fermez une boîte de dialogue, Android vous ramène à la dernière activité "normale" (c'est-à-dire, noHistory = "false"). J'ai essayé de remplacer l'onBackPressed , qui fonctionne jusqu’à la sortie de l’application. J’ai aussi essayé Android: finishOnTaskLaunch = "true", et cela ne fonctionne tout simplement pas comme le dit la documentation. Mon application démarrera les activités avec ce paramètre après le redémarrage.

J'aimerais que le bouton de retour agisse toujours comme un bouton haut. Il ne devrait jamais vous descendre d'un niveau. Seulement up.

Je cible l'API de niveau 8. Il semble que l'API 11 dispose de quelques options pour effacer la pile d'historique. Y a-t-il quelque chose que je puisse faire dans API 8 pour que cela fonctionne correctement?

Réponses:

3 pour la réponse № 1

Si j'avais traversé A-> B-> C, sauvegardé mes modifications dans Cqui me ramène automatiquement au niveau B, puis appuie sur le bouton de retour, cela me ramènerait à l’activité C, car c’était la dernière activité vue.

Avoir C appeler finish() après cela "me ramène automatiquement au niveau B" (vraisemblablement par un appel à startActivity()). Ensuite, appuyer sur BACK depuis B ramènera l'utilisateur à A.

J'aimerais que le bouton de retour agisse toujours comme un bouton haut. Il ne devrait jamais vous descendre d'un niveau. Seulement up.

alors finish() toutes les activités "vers le bas" lorsque vous avez terminé, si l'utilisateur ne l'a pas fait lui-même en les quittant en appuyant sur RETOUR.