InvalidateOptionsMenu ne s'appelle pas du fragment

J'ai un fragment avec lequel il faut construire sa propre barre d'action:

public class CalendarFragment extends Fragment { public CalendarFragment() { } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); getActivity().supportInvalidateOptionsMenu(); setHasOptionsMenu(true); } @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.calendar_menu1, menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { return super.onOptionsItemSelected(item); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { TextView textView = new TextView(getActivity()); textView.setGravity(Gravity.CENTER); textView.setText("Calendar Fragment"); return textView; } 

}

  • Qu'est-ce que SetUseWideViewPort () et setLoadWithOverviewMode () font précisément?
  • Comment gérer: java.util.concurrent.TimeoutException: android.os.BinderProxy.finalize () a expiré après 10 secondes d'erreurs?
  • Logcat couleur dans le studio android par colorpid
  • Comment copier le texte dans Clip Board dans Android?
  • GreenDao Studio Android
  • Le chemin APK n'est pas spécifié pour le module "Exemple-Exemple"
  • Le problème est qu'il ne crée pas un nouveau menu avec des éléments de calendar_menu1, mais que vous ajoutez simplement les éléments à l'ancien menu, comme si invalidateOptionsMenu ne fonctionnait pas (j'ai essayé getActivity (). InvalidateOptionsMenu () aussi)

  • Impossible de résoudre les dépendances pour les outils SDK Android
  • Aucune ressource trouvée ne correspond à la prénom
  • Est-ce que c'est un bug avec CheckBox dans Android?
  • Comment désactiver le marqueur de la carte Android Cliquez sur le centre automatique
  • Problème de lancement d'Android and AVM / SDK gui en utilisant les outils / l'exécutable Android dans le SDK d'Android. Ubuntu 10.04, i686
  • Libgdx - IllegalStateException à l'emplacement inconnu
  • 2 Solutions collect form web for “InvalidateOptionsMenu ne s'appelle pas du fragment”

    Vous devez appeler onCreate ():

     setHasOptionsMenu(true); 

    Il est normal, en regardant le javadoc de MenuInflater , " Les éléments et les sous-menus seront ajoutés à ce menu ":

     public void inflate (int menuRes, Menu menu) Inflate a menu hierarchy from the specified XML resource. Throws InflateException if there is an error. Parameters menuRes Resource ID for an XML layout resource to load (eg, R.menu.main_activity) menu The Menu to inflate into. The items and submenus will be added to this Menu. 

    Avez-vous essayé d'appeler menu.clear() avant pour gonfler votre menu de fragments?

     @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { menu.clear(); inflater.inflate(R.menu.calendar_menu1, menu); } 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.