comment revenir à fragment précédent en appuyant sur manuellement le bouton de retour de la personne fragment?
Je n'ai qu'un activity
et plusieurs fragments
dans mon application.
Deux principaux fragment A(à gauche) et B(à droite).
Fragment A1 called from A
B1 called from B
B2 called from B1
Tous fragments
ont des boutons de retour.
Donc quand je presse le bouton de retour de fragment
A1, il devrait revenir à Un, de même lorsque le bouton de Retour de B2 est pressé, B1 apparaît et de B1 à B et ainsi de suite.
Comment mettre en œuvre ce type de fonctionnalité?
All fragments have individual back buttons.
qui n'a absolument aucun sens pour moi. Pourriez-vous nous expliquer cela?- Gauche fragmet Un et à droite du fragment B, j'ai 3 boutons en A. lorsque vous appuyez sur le 1er bouton de A, A1 est affiché. J'ai listview dans A1. lors d'un clic sur un élément de liste, ses détails s'affiche sur le côté droit fragment B1. Même pour les 2 autres boutons d'A.
Vous devez vous connecter pour publier un commentaire.
J'ai mis en œuvre le Scénario similaire juste maintenant.
L'activité " A "- > Appelle un Fragment de " A1 " et en cliquant sur l'élément de menu, il appelle le Fragment 'A2' et si l'utilisateur appuie sur le bouton de retour de 'A2', cela revient à " A1 "et si l'utilisateur appuie sur le dos de" A1 "après cela, il termine l'Activité" A " et remonte.
Voir le Code Suivant:
L'Activité " A " - OnCreate() Méthode:
Fragment : "A1"
Je suis en remplaçant le fragment avec le nouveau Fragment lorsque l'élément de menu cliquez sur l'action qui se passe:
L'activité " A " - onBackPressed() Méthode:
Depuis tous les fragments ont une Activité parent (qui est 'A'), la onBackPressed() la méthode permet à la pop des fragments, s'ils sont là ou il suffit de revenir à l'Activité précédente.
Si vous êtes à la recherche pour l'Incorporation de Fragments à l'intérieur des Fragments, veuillez consulter le lien: http://developer.android.com/about/versions/android-4.2.html#NestedFragments
addToBackStack
méthode. Merci@trueblue réponse m'a reçu avec un mineur, mais ennuyeux problème. Quand il y a seulement un fragment de la backstack et vous appuyez sur le bouton de retour, cette image est supprimée et l'application reste active avec un écran vide. Utilisateur nécessaires pour appuyer sur bouton de retour une fois de plus pour quitter l'application. J'ai modifié le code d'origine de celle-ci afin de gérer cette situation
Quand il ya seulement 1 fragment dans la backstack, nous sommes fondamentalement disant android pour déplacer l'ensemble de l'application en arrière.
Mise à jour (et probablement une meilleure réponse)
Donc, après avoir fait quelques plus de lecture sur ce sujet, j'ai découvert que vous pouvez ajouter un fragment de gestionnaire de transactions à l'arrière de la pile puis android poignées de retour presses automatiquement et d'une manière désirée. L'extrait de code ci-dessous montre comment le faire
La dernière ligne montre comment ajouter une opération à l'arrière de la pile. Cela résout le dos de presse de la question des fragments dans la plupart des cas, sauf pour une. Si vous allez en appuyant sur la touche retour, puis vous finirez par atteindre un point où il n'est qu'un fragment de la pile de retour. À ce stade, vous voulez faire une des deux choses
Dans mon cas, c'était le plus tard, j'ai donc modifié le substituée
onBackPressed
méthode de ma réponse précédente à ressembler à ci-dessousCe code est plus simple parce qu'il a moins logique, et s'appuie sur le cadre que sur notre code personnalisé. Malheureusement, je n'ai pas réussi à implémenter le code pour la première situation que je n'ai pas besoin d'.
Il Suffit De Ne
Vous devez mettre en place votre propre backstack mise en œuvre, comme l'explique ici.
Vous pouvez appeler la
popFragments()
chaque fois que vous cliquez sur le bouton de retour dans un fragment d'appelpushFragments()
chaque fois que vous naviguez à partir d'un Fragment à l'autre.Essayer cela, Son Travail pour moi.
Arrière bouton parcourir dans l'ordre, dans lequel les Fragments ont été ajouté à backstack. Ceci est fourni comme une fonction de navigation par défaut. Maintenant, si vous voulez aller de Fragment spécifique, vous pouvez montrer de backstack.
Vous pouvez le manipuler par l'ajout de tag dans le
backStack
. Vérifier ma réponse ici :https://stackoverflow.com/a/19477957/1572408
espère que cela aide
//Codage Heureux
Si vous appuyez sur l'arrière de l'image, vous devez créer d'abord la méthode comme ceci
ensuite, vous devez appeler comme cela, lorsque vous appuyez sur l'arrière de l'image..
Il fonctionne très bien pour moi.