Je suis en train de convertir une application pour utiliser des fragments en utilisant la bibliothèque de compatibilité. Actuellement, j'ai un certain nombre d'activités (A B C D) qui s'enchaînent les unes aux autres, D a un bouton 'OK' qui, lorsqu'il est pressé, appelle finish qui s'élève ensuite dans les bulles de l'application. onActivityResult()
pour détruire en plus C et B.
Pour ma version des fragments pré-Honycomb, chaque activité est effectivement une enveloppe sur les fragments Af Bf Cf Df. Toutes les activités sont lancées via startActivityForResult()
et onActivityResult()
au sein de chacun des fragments peut heureusement appeler getActivity().finish()
Le problème que j'ai cependant est que dans ma version Honeycomb, je n'ai qu'une seule activité, A, et les fragments Bf, Cf, Df sont chargés à l'aide de la fonction de chargement de l'activité. FragmentManager
.
Ce que je ne comprends pas, c'est ce qu'il faut faire dans Df lorsque l'on appuie sur "OK" afin de supprimer les fragments Df, Cf et Bf ?
J'ai essayé de faire en sorte que le fragment s'éjecte lui-même de la pile, mais cela a donné lieu à une exception. onActivityResult()
est inutile car je n'ai pas chargé le fragment à l'aide de startActivityForResult()
.
Est-ce que je pense à ça de la mauvaise façon ? Devrais-je implémenter une sorte d'écouteur qui communique avec le fragment ou l'activité parent afin d'effectuer le pop en utilisant le gestionnaire de transactions ?
7 votes
Qu'en est-il de ((YourActivity) getActivity()).onBackPressed() ;
0 votes
@ViswanathLekshmanan votre commentaire réponse est utile pour moi . 1 Upvote de moi
0 votes
@AbhishekSingh Bon à savoir :)
0 votes
@ViswanathLekshmanan :)