Barra de herramientas Android Agregar elementos de menú para diferentes fragmentos

Tengo una barra de herramientas, así como un cajón de navegación. Cuando inicio mi aplicación, se crean la barra de herramientas y el cajón de navegación. Cuando hago clic en elementos en el cajón de navegación, comienza nuevos fragmentos y mantiene la misma barra de herramientas. ¿Cómo puedo básicamente agregar elementos de menú a la barra de herramientas, como búsqueda, añadir, editar a mi barra de herramientas cuando inicie fragmentos específicos. No los quiero al comienzo del programa, pero creados dinámicamente. Además, ¿cómo podría hacer clic en estos botones y hacer que inicien otros fragmentos. Lo quiero así en un fragmento, el botón de edición en la barra de herramientas hace una cosa específica en comparación con el botón de edición en otro fragmento. ¡Gracias!

Menu_toolbar:

<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/edit" android:orderInCategory="1" android:title="Edit" app:showAsAction="always" android:icon="@drawable/pencil_icon"/> <item android:id="@+id/add" android:orderInCategory="1" android:title="Add" app:showAsAction="always" android:icon="@drawable/plus_icon"/> 

Barra de herramientas:

 <?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="55dp" android:background="#10a1ff" android:title="Home" /> 

5 Solutions collect form web for “Barra de herramientas Android Agregar elementos de menú para diferentes fragmentos”

 @Override public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.library_fragment, parent, false); setHasOptionsMenu(true); return v; } @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.your_menu_xml, menu); super.onCreateOptionsMenu(menu, inflater); } 

Esta es la forma de crear el menú dinámicamente: http://www.101apps.co.za/index.php/articles/using-toolbars-in-your-apps.html

Editado:

 Toolbar actionBarToolBar = (Toolbar) findViewById(R.id.my_toobar); setSupportActionBar(actionBarToolBar); actionBarToolBar.setNavigationIcon(R.drawable.icon); actionBarToolBar.setNavigationContextDescription(getResources().getString(R.string.desc); actionBarToolBar.setLogo(R.drawable.other_icon); actionBarToolBar.setLogoDescription(getResources().getString(R.string.other_desc); actionBarToolBar.inflateMenu(R.menu.fragment_menu); 

onCreateOptionsMenu método onCreateOptionsMenu en cada fragmento.

 @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.your_menu_xml, menu); super.onCreateOptionsMenu(menu, inflater); } 

He resuelto estos problemas correctamente. Mi solución es como código siguiente:

 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment mRootView = inflater.inflate(R.layout.fragment_order_history, container, false); //getActivity().invalidateOptionsMenu(); setHasOptionsMenu(true); return mRootView; } @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.main, menu); super.onCreateOptionsMenu(menu, inflater); } 

Tuve el mismo problema y quería reemplazar el menú de la barra de herramientas de acuerdo con el fragmento que se muestra.

El problema que ahora estoy enfrentando es que el menú se añade a la anterior.

Para mostrar sólo el menú del fragmento, sugiero:

 @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { menu.clear(); //Empty the old menu inflater.inflate(R.menu.menu_fragment1, menu); super.onCreateOptionsMenu(menu, inflater); } 

Espero que ayude.

  • Barra de herramientas: botón de menú de desbordamiento siempre mostrando
  • Prevenir CollapsingToolbarLayout colapsar si no es necesario
  • Cómo desplazarse hacia arriba / abajo de la barra inferior en el desplazamiento de RecyclerView
  • Barra de herramientas de Android - ¿Cómo implementar Spinner para el modo de navegación?
  • ¿Cómo puedo arreglar el estilo Spinner para Android 4.x colocado en la parte superior de la barra de herramientas
  • ¿Cuál es el equivalente de onPrepareOptionsMenu para la barra de herramientas de soporte?
  • Mostrar ActionMode sobre la barra de herramientas
  • Sincronizar la altura de la barra de herramientas con ViewPager
  • Barra de herramientas de AppCompat popupTheme no se utiliza en ShareAction MenuItem
  • Barra de herramientas android muestra medio contenido
  • Barra de herramientas no aparece en fragmento con google maps
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.