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.

  • AppBarLayout con contenedor FrameLayout como contenido de desplazamiento no funciona
  • Cómo mostrar y establecer el evento de clic en Flecha de retroceso en la barra de herramientas
  • ¿Ocultar barra de herramientas en actividad desplazando una vista de reciclaje dentro del fragmento?
  • CollapsingToolBarLayout - barra de estado
  • Arreglar la barra inferior en CoordinatorLayout
  • Android, DrawerLayout + Fragmentos + CollapsingToolbarLayout
  • Barra de herramientas de Android + Diseño de pestaña + Cajón, Ocultar barra de herramientas al desplazarse y llevar TabLayout a la parte superior
  • Cómo habilitar homeAsUp o llamar a setDisplayHomeAsUpEnabled () en la barra de herramientas independiente con appcompat v21
  • Cómo configurar la barra de herramientas en FragmentActivity?
  • Android lollipop toolbar conmutador entre abrir / cerrar el cajón y el botón Atrás
  • Cómo utilizar TabLayout con la barra de herramientas dentro de CollapsingToolbarLayout?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.