2012-06-02 17 views
6

Tengo un fragmento que estoy reemplazando por otro, al mismo tiempo que agrego la transacción a la pila posterior. Mis dos fragmentos proporcionan elementos de menú a la barra de acción usando ActionBarSherlock. Sin embargo, tengo un problema: en mi segundo fragmento, la barra de acciones muestra los elementos del primer fragmento y del segundo fragmento; Solo quiero los artículos del segundo. ¿Hay alguna forma de lograr esto?¿Cómo eliminar los elementos del menú del fragmento de la pila trasera?

(También estoy usando la biblioteca de soporte.)

+1

¿Lo resolvió? – Hades

+1

¿te diste cuenta de esto? –

Respuesta

3

Si desea actualizar los iconos de la barra de acción, puede anular onCreateOptionsMenu() en la actividad de definir qué menú se utiliza para el fragmento activo. Luego, llame a invalidateOptionsMenu() luego de reemplazar los fragmentos para recrear el menú.

Si solo está utilizando el menú desplegable, puede anular onPrepareOptionsMenu() y agregar/eliminar elementos del menú.

+0

¿Cómo puedo definir qué menú usar? ¿Hay algún método para elegir qué fragmentos '' onCreateOptionsMenu' para llamar? – jmgrosen

+0

tendrá que proporcionar esa lógica. Dependerá de tu implementación. Puede verificar qué fragmento está visible o seguirlo con una variable de instancia. – Jereld

+2

Creo que has entendido mal. Estoy usando 'onCreateOptionsMenu' _in_ mis fragmentos, y por lo que puedo decir, no hay forma de elegir selectivamente y elegir los menús de opciones que quiero usar. – jmgrosen

0

Es posible que haya tenido ViewPager en el primer fragmento con getFragmentManager() pasado a FragmentPagerAdapter constructor. Y luego trataste de navegar al segundo fragmento usando el mismo getFragmentManager().

Si es así, pase getChildFragmentManager() al FragmentPagerAdapter.

Cuestiones relacionadas