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

  • Android no homologado
  • Android Studio: Código de error 1: Gradle: Error de ejecución para la tarea ': app: processDebugResources'
  • La función de arrastrar / soltar en el estudio de Android no funciona
  • Android Studio no puede resolver org.junit
  • ProGuard: ¿duplicado definición de biblioteca clase?
  • Se requiere la versión Grad10 2.10. La versión actual es 2.8 Error
  • 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!!

  • Cómo cambiar el tamaño del icono de elemento de menú en NavigationView?
  • DDMS - No se puede vincular a local 8600 para depurador en Android Studio
  • No se puede ver Nexus 6P para depurar
  • OnClickListener de Child que impide el golpe de vista de Android ViewPager
  • No se puede encontrar la opción de módulo de importación en la estructura del proyecto (Android Studio 0.3.4 - 0.5.2)
  • Guardar / Restaurar fragmentos de estado android
  • 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.