Inflar nuevo diseño xml para cada vista – instantiateItem in PagerAdapter
Así que básicamente quiero llenar las páginas dentro de ViewPager con diseños XML separados para cada posición de vista. Actualmente estoy haciendo esto por
@Override public Object instantiateItem(View container, int position) { LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(mContext.LAYOUT_INFLATER_SERVICE); if(position == 0){ view = inflater.inflate(R.layout.main, null); ((ViewPager) container).addView(view, 0); } if(position == 1){ view = inflater.inflate(R.layout.main_second, null); ((ViewPager) container).addView(view, 0); } if(position == 2){ view = inflater.inflate(R.layout.main_third, null); ((ViewPager) container).addView(view, 0); } return view; }
Las vistas se muestran correctamente al principio, pero cuando deslizo el ViewPager, el Layout está oculto / destruido. ¿Por qué es esto? ¿Lo estoy haciendo de la manera equivocada? Por favor ayuda y corrige.
- Ver Gone cuando se hace clic fuera de esa vista
- Agregar vistas de forma programática en un diseño (lineal) (que está dentro de un ScrollView)
- Incluir un archivo de diseño XML existente en otro archivo de diseño XML
- Fragmento de la fuerza de Android para reconstruir Ver
- GridView y el desorden del icono mientras que usa "si (convertView == null)"
Gracias. Amor. Wesley
- ¿Rellenar ListFragments con una vista personalizada?
- Android Stringblock.get NullPointer Excepción en Lollipop
- El ajuste de texto en varios EditTexts inflados hace que todos se rellenen con el mismo texto después de la rotación
- Fragmentos y onConfigurationChanged
- Cómo obtener información de una ventana emergente
- ViewStub aumenta el error al inflar más de un diseño condicionalmente
- Cómo evitar que los elementos se dupliquen cuando se desplaza la vista de reciclador
- App fallando al usar fragmentos
Echa un vistazo a este enlace para un buen tutorial sobre cómo ponerlo todo junto. Básicamente la idea es que usted tiene que agregar la vista recién inflado a la colección ViewPager:
View view = inflater.inflate(resId, null); ((ViewPager) collection).addView(view, 0);
- Marcador de Google Maps para Android: Released unknown imageData reference
- ¿Cómo mostrar el progreso de la descarga en la barra de progreso de Android?