Android ViewPager w / varias clases de fragmentos cada w / archivo de diseño independiente
Mi aplicación utiliza la clase android.support.v4.view.ViewPager
. Para cada página en el ViewPager, quiero que haya un fragmento, cada uno con su propio archivo de diseño. Cada Fragmento se define en su propio archivo. Estoy teniendo dificultades para implementar esto. Para aclarar, hay:
1 ViewPager
4 archivos de fragmentos – FragmentOne.class, FragmentTwo.class, FragmentThree.class, FragmentFour.class
4 Archivos de Diseño XML – frag_one.xml, frag_two.xml, frag_three.xml, frag_four.xml
- ¿Por qué mi fragmento onCreate se llama extensivamente cada vez que una página a través de mis aplicaciones viewPager?
- IllegalStateException: base de datos ya cerrada (con ViewPager)
- FragmentStatePagerAdapter onPageSelected evento
- ¿Por qué parpadean los iconos / textos de las lengüetas de TabLayout al pasar entre páginas?
- Cómo alimentar datos a PagerAdapter
Los ejemplos que he visto sólo se ocupan de un archivo de diseño.
Aquí está mi FragmentActivity donde se lleva a cabo el ViewPager:
public class Main extends FragmentActivity { MyAdapter mAdapter; ViewPager mPager; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mAdapter = new MyAdapter(getSupportFragmentManager()); mPager = (ViewPager) findViewById(R.id.pager); mPager.setAdapter(mAdapter); } public static class MyAdapter extends FragmentPagerAdapter { public MyAdapter(FragmentManager fm) { super(fm); } @Override public int getCount() { return 4; } @Override public Fragment getItem(int position) { return EditorFragment.newInstance(position); } } }
Mi pregunta principal es: ¿Cómo puedo obtener el adaptador, MyAdapter
, para reconocer los cuatro archivos Fragmento independiente y suavemente página a través de ellos con ViewPager? ¿Qué tipo de modificaciones debo hacer a getItem()
?
Cualquier ayuda es apreciada.
EDITAR:
Por lo tanto, he intentado lo que lulumeya sugirió y se me ocurrió esto:
EDIT 2: Sí, esas declaraciones de ruptura lo arreglaron. Ahora funciona. Gracias a todos los que ayudaron! Ahora tengo una buena segregación, gracias.
@Override public Fragment getItem(int position) { Fragment f = new Fragment(); switch (position) { case 0: f = FragmentOne.newInstance(position); break; case 1: f = FragmentTwo.newInstance(position); break; case 2: f = FragmentThree.newInstance(position); break; case 3: f = FragmentFour.newInstance(position); break; } return f; }
La aplicación lauches, que siempre es una buena señal, pero está atrapado en el diseño de cuatro. Cuando la página a la derecha es también el esquema cuatro, para todas las páginas. Yo estaba seguro de cambiar el diseño en el inflador para cada fragmento. Todavía voy a trabajar en esto. @ Lulumeya – ¿Es esto lo que querías decir?
- Cuenta de puntero incorrectaInterceptTouchEvent
- Los elementos de RecyclerView desaparecen después de cambiar entre fragmentos
- ViewPager con Fragmentos dentro de PopupWindow (o DialogFragment) - Error no se encontró ninguna vista para id para el fragmento
- Evitar que el bitmap sea un android reciclado
- Android ViewPager obtiene la vista actual
- ViewPager retaing old Fragmentos en la rotación de la pantalla
- RecyclerView + ViewPager NullPointerException en 'boolean android.support.v7.widget.RecyclerView $ LayoutManager.canScrollHorizontally ()'
- Hay una manera de cargar una imagen predeterminada en picasso
Simplemente devuelva la instancia Fragment apropiada en getItem (posición int) por posición. Utilice el caso del ~ del interruptor, es fácil.
- ¿Puede el usuario desmarcar el valor en la hiladora?
- Mi aplicación se desplaza muy mal después de importar la fuente roboto en la carpeta assets / fonts