Desaparición de los botones de la barra de acción al pasar entre fragmentos

Tengo una aplicación con varias pestañas en una barra de acciones, y cada pestaña tiene un conjunto diferente de iconos de menú de opciones que aparecen en la barra de acciones. Algunas pestañas tienen dos iconos, algunos no.

El problema es que cuando deslizo entre las pantallas, los botones para las pantallas individuales pueden o no aparecer. Es decir, en una pantalla donde debería haber dos iconos, ¡no habrá iconos en la barra de acción!

Cuando hago clic en las pestañas, sin embargo, las pantallas siempre muestran los iconos correctos sin fallar.

He intentado analizar el problema en el depurador. Estoy seguro de que el FragmentPagerAdapter está llamando correctamente a setMenuVisibility(true) para el Fragmento recién seleccionado, y otros Fragments se llaman con setMenuVisibility(false) .

No puedo encontrar un patrón exacto para la aparición / desaparición de los botones. Puedo deslizar izquierda / derecha entre dos pantallas que cada uno tiene dos botones diferentes. El problema ocurrirá en cualquier lugar después de 1 a 20 swipes.

La desaparición parece ser agravada por pasar a una pantalla con un icono y luego volver a una pantalla con dos iconos.

He intentado agregar las llamadas en el Activity.invalidateOptionsMenu() pero parece no tener ningún efecto. Por ejemplo, he añadido esta llamada a mi TabAdapter onPageScrollStateChanged () que se llama después de que la animación de desplazamiento se haya completado. También he intentado agregar esto en los fragmentos 'onResume () o después de TabAdapter.onTabSelected () ha terminado, sin éxito.

Estoy utilizando ActionBarSherlock 4.1.0 (y he sustituido en el último android-support-v4.jar debido a un problema diferente). Mi Actividad extiende SherlockFragmentActivity y simplemente ViewPager una instancia de ViewPager . He sobrepasado el FragmentPagerAdapter para el adaptador de ViewPager (siguiendo el ejemplo estándar en los documentos Android de ViewPager).

Mi teléfono funciona con Android 2.3.5.

2 Solutions collect form web for “Desaparición de los botones de la barra de acción al pasar entre fragmentos”

Varias soluciones para este problema se proporcionan en ViewPager / ActionBar, elementos de menú que no se muestran . La solución discutida en el punto # 8 funcionó para mí.

Sólo tienes que seguir este enlace

 if (viewPager.getCurrentItem() != position) viewPager.setCurrentItem(position); 

Aplazar la llamada a viewPager.setCurrentItem en onCreate

 public void onCreate(...) { ... view.post(new Runnable() { public void run() { // guarded viewPager.setCurrentItem } } } 
  • "La vista de contenido aún no se ha creado" en Android Fragments
  • Pestañas deslizantes dentro de las pestañas de la barra de acciones
  • Fragmento de niño que reemplaza el diseño de raíz de fragmento padre
  • ¿Hay una manera de desactivar el desvanecimiento que un viewPager tiene desplazamiento a los bordes?
  • Cómo cambiar el color de texto de SlidingTabLayout?
  • Reemplazar fragmento dentro de un ViewPager
  • Viewpager en fragmento no se actualiza al navegar de nuevo a fragmento
  • Android.app Fragments vs. android.support.v4.app usando ViewPager?
  • ¿Cómo ocultar y mostrar correctamente la barra de acciones con la nueva API de la biblioteca de diseño?
  • ¿Es posible hacer esta animación de pantalla Android con un ViewPager?
  • Android ViewPager llama manualmente a PageTransformer transformPage
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.