Manejo del cambio de orientación con ViewPager + FragmentPagerAdapter

Tengo problemas para controlar el cambio de orientación de pantalla con ViewPager y FragmentPagerAdapter. Funciona bien en el inicio de la aplicación, pero los fragmentos dentro del viewpager no son visibles tras el cambio de orientación (tal vez perdido). ¿Cómo puedo solucionar este problema. La siguiente es la estructura de mi actividad: Introduzca aquí la descripción de la imagen

Edit: Este es el archivo de manifiesto

<?xml version="1.0" encoding="utf-8"?> 

 <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.USE_CREDENTIALS" /> <application android:name="com.test.myapp.NetworkManager.TBVolleyInstance" android:allowBackup="true" android:icon="@drawable/launcher" android:label="@string/app_name" android:theme="@style/CustomActionBarTheme"> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <activity android:name=".Home" android:label="@string/app_name" android:windowSoftInputMode="adjustNothing" > </activity> <activity android:name=".RouterActivity" android:label="@string/app_name" > <intent-filter android:label="@string/app_name" > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> 

Implementación de FragmentPagerAdapter:

 public class PagerAdapter extends FragmentPagerAdapter{ public PagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int index) { switch (index) { case 0: return new Fragment1(); case 1: return new Fragment2(); } return null; } @Override public int getCount() { return 2; } @Override public float getPageWidth(int position){ return(1.0f); } 

}

Un poco tarde pero acabo de solucionar este problema exacto en mi aplicación. Hay dos soluciones.

1) Usted tiene que utilizar un FragmentStatePagerAdapter lugar de un FragmentPagerAdapter

O

2) Si su ViewPager está envuelto en un fragmento (como su imagen muestra), entonces al crear el adaptador de ViewPager, tiene que utilizar getChildFragmentManager() lugar de getSupportFragmentManager() .

Espero que esto ayude a alguien como esto me llevó un día entero de tortura para resolver esto.

  • IllegalStateException: No se puede cambiar la etiqueta del fragmento era android: switcher ahora android: switcher
  • ViewPager con FragmentPagerAdapter no se muestra
  • Desplazamiento no funciona en android ViewPager con FragmentPagerAdapter
  • mantener instancias de fragmentos dentro de FragmentPagerAdapter
  • Navegación de nuevo a FragmentPagerAdapter -> fragmentos están vacíos
  • FragmentPagerAdapter dentro de Fragment
  • No se puede cambiar la etiqueta del fragmento
  • Quitar la página de fragmentos de ViewPager en Android
  • FragmentPagerAdapter con ViewPager y dos Fragmentos. Ir a la primera de la segunda y actualizar el primer texto
  • Actualizar imágenes en FragmentStatePagerAdapter al reanudar la actividad
  • Eliminar Elemento + Desplazarse a Siguiente en Android ViewPager
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.