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

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?

Simplemente devuelva la instancia Fragment apropiada en getItem (posición int) por posición. Utilice el caso del ~ del interruptor, es fácil.

  • ANDROID: ViewPager con diferentes fragmentos en el método instantiateItem
  • ViewPager - personalización del título PagerTabStrip
  • Cómo comprometer Fragment transacciones en FragmentPagerAdapter en onLoadFinish método de devolución de llamada?
  • ViewPager en CoordinatorLayout se contrae inesperadamente
  • Cómo utilizar el fragmento con Viewpager para páginas de desplazamiento
  • Cómo mostrar programaticamente la vista siguiente en ViewPager?
  • Reemplazar fragmento con otro fragmento dentro de ViewPager
  • Cómo establecer el tamaño de ViewPager
  • Intentar invocar el método virtual 'void android.support.v4.view.ViewPager.setAdapter (android.support.v4.view.PagerAdapter)' en una referencia de objeto nulo
  • Barra de navegación de Android que cubre el contenido del visualizador
  • Cómo personalizar PagerTabStrip
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.