74 votes

Gestion du titre de la barre d'action avec la pile arrière du fragment ?

J'ai un Activity où je charge dans un ListFragment et, en cliquant, on descend d'un niveau et on obtient un nouveau type d'informations. ListFragment est affichée, remplaçant celle d'origine (en utilisant l'option showFragment méthode ci-dessous). Celle-ci est placée sur la pile arrière.

Au début, l'activité affiche le titre par défaut dans la barre d'action (c'est-à-dire qu'il est défini automatiquement sur la base de l'application android:label ).

Lors de l'affichage de la liste du niveau suivant de la hiérarchie, le nom de l'élément sur lequel on a cliqué doit devenir le titre de la barre d'action.

Cependant, en appuyant sur Back J'aimerais que le titre original par défaut soit restauré. Ce n'est pas quelque chose FragmentTransaction connaît, donc le titre n'est pas rétabli.

J'ai vaguement lu quelque chose sur FragmentBreadCrumbs mais cela semble nécessiter l'utilisation d'une vue personnalisée. J'utilise ActionBarSherlock et je préférerais ne pas avoir ma propre vue de titre personnalisée.

Quelle est la meilleure façon de procéder ? Est-il possible de le faire sans avoir recours à un tas de code passe-partout et sans devoir garder la trace des titres affichés en cours de route ?


protected void showFragment(Fragment f) {
  FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
  ft.replace(R.id.fragment_container, f);
  ft.addToBackStack(null);
  ft.commit();
}

-3voto

Ashish Kumawat Points 1

Pour mettre à jour le titre de la barre d'action en appuyant sur la touche retour. Il suffit de mettre

getActivity.setTitle("titre")

dans la méthode onCreateView.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X