Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


El título de ViewPager no aparece hasta que lo deslice

Estoy aprendiendo a usar ViewPager y PagerTabStrip para implementar la barra de navegación. Lo he implementado, mi problema es: cada vez que abro la aplicación fresca, los títulos no se muestran, pero después de deslizarlo una vez, todos los títulos aparecen de nuevo, y entonces todo es normal. Siguiente código:

Adaptador personalizado

public class MyPagerAdapter extends PagerAdapter { private List<View> viewList; private List<String> titleList; public MyPagerAdapter(List<View> viewList, List<String> titleList){ this.viewList = viewList; this.titleList = titleList; } @Override public int getCount() { return viewList.size(); } @Override public boolean isViewFromObject(View view, Object o) { return view == o; } @Override public Object instantiateItem(ViewGroup container, int position) { container.addView(viewList.get(position)); return viewList.get(position); } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(viewList.get(position)); } @Override public CharSequence getPageTitle(int position) { return titleList.get(position); } } 

.xml Archivo:

 <android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center"> <android.support.v4.view.PagerTabStrip android:id="@+id/tab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom" /> </android.support.v4.view.ViewPager> 

Esta es la captura de pantalla de "Acaba de hacer clic en el icono de la aplicación": Introduzca aquí la descripción de la imagen

Y esto es después de que pasé a la segunda página: Introduzca aquí la descripción de la imagen

Estoy muy frustrado. ¡¡Gracias!!

  • Android Studio Gradle Error CreateProcess = 2
  • ¿Cuál es la forma correcta de obtener el inflador de diseño en Android?
  • ¿Cómo crear una biblioteca móvil orientada, multiplataforma, compartida en Java?
  • ¿Por qué tengo un error cuando intento anular un enlace genérico con Guice? (TypeLiteral)
  • Android imageview.setBackgroundResource () no funciona
  • Administrador de cookies que causa señal fatal 11
  • ¿Cómo confirmar la credencial del dispositivo antes de Android 5.0 (API 21)?
  • Escribir archivos en el almacenamiento externo en Android fallando
  • 4 Solutions collect form web for “El título de ViewPager no aparece hasta que lo deslice”

    Se trata de un problema aparecido en com.android.support:appcompat-v7:23.0.0 . Puedes consultar aquí https://code.google.com/p/android/issues/detail?id=183127

    En ese enlace, el equipo de soporte técnico de Google ha mencionado que el defecto se solucionaría en versiones futuras. Así que por ahora la solución es construir el proyecto usando com.android.support:appcompat-v7:22.2.1

    Actualización: Si es factible para usted entonces usted puede seguir adelante con otra solución proporcionada por @nidheeshdas. He intentado en el proyecto simple; Funciona Solución modificada de @nidheeshdas dentro onResume () de Actividad

     viewPager.setCurrentItem(1); viewPager.postDelayed(new Runnable() { @Override public void run() { viewPager.setCurrentItem(0); } },100); 

    Nueva actualización: Como se mencionó en el vínculo de seguimiento de google google y comentarios de JP Ventura. He intentado con la nueva versión de la biblioteca y el problema parece ser fijo.

    En lugar de usar android.support.v4.view.PagerTabStrip , use android.support.design.widget.TabLayout para mostrar las pestañas para viewPager. Está incluido en la Biblioteca de soporte de diseño de Google.

    Vea este enlace para más información http://android-developers.blogspot.in/2015/05/android-design-support-library.html

    Sólo unas pocas líneas:

     viewPager=(ViewPager)v.findViewById(R.id.viewPager); ViewPagerAdapter adapter=new ViewPagerAdapter(this.getChildFragmentManager(),doctor); adapter.setViewPagerFragmentListener(this); viewPager.setAdapter(adapter); tabLayout.setupWithViewPager(viewPager); //Sync Tabs with viewPager tabLayout.setTabsFromPagerAdapter(adapter); //Setup tabs titles 

    Y para cambiar los títulos utilice el siguiente código en ViewPagerAdapter

     @Override public CharSequence getPageTitle(int position) { switch (position){ case 0: return "Title 1"; case 1: return "Title 2"; case 2: return "Title 3"; } return super.getPageTitle(position); } 

    También recientemente comencé a tener este problema, y ​​después de un poco de pruebas, creo que encontré un error en la última actualización del paquete de soporte de Android.

    El problema aparece en estar en com.android.support:appcompat-v7:23.0.0 .

    Trate de cambiar la dependencia de nuevo a com.android.support:appcompat-v7:22.2.1 (segunda actualización más reciente) y ver si funciona.

    Lamentablemente, aún no he encontrado ninguna solución para que funcione con la última actualización del paquete de soporte.

    Prueba esto. Su parece estar funcionando para mí.

     @Override protected void onResume() { super.onResume(); pager.setCurrentItem(1); Task.delay(500).continueWith(new Continuation<Void, Object>() { @Override public Object then(Task<Void> task) throws Exception { pager.setCurrentItem(0); return null; } }, Task.UI_THREAD_EXECUTOR); } 

    OnResume establezca el paginador en 1 y luego vuelva a 0. Esto hace que el título aparezca cargando la página la primera vez.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.