Fragmento saveInstanceState se presenta como nulo después del cambio de orientación

Tengo una actividad con la pestaña de la barra de acción. Cada ficha contiene un fragmento. Ahora cuando hago girar mi dispositivo, el paquete en mi fragmento correspondiente viene como nulo. Esto se toma cuidado cuando uso dispositivo post android 3.2, pero está sucediendo cuando el dispositivo es Andoird3.0. Estoy teniendo un dolor de cabeza después de trabajar en este tema. Cruzé comprobar el vario acoplamiento en SO, pero ninguna ayuda. Aunque he dado suficientes detalles, seguiré proporcionando algún fragmento de código, como en varios casos, el usuario solicita un fragmento de código.

En mi clase de fragmentos estoy almacenando este valor

@Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putBoolean("textboxVisible", true); } 

Esto es almacenar una variable booleana que retrived como abajo.

 /** * Function called after activity is created. Use this * method to restore the previous state of the fragment */ @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (savedInstanceState != null) { //restore the state of the text box boolean textboxVisible = savedInstanceState.getBoolean("textboxVisible"); if (textboxVisible) { //do some stuff } } } 

Pero después de la rotación savedInstanceState viene como nulo. No hago lo que va mal. He leído en algún documento que debajo de 3.2 el onCreateView () del fragmento no se llama con el valor del paquete. Pero para hacer frente a esto. Cualquier ayuda será apreciada.

Si utiliza setRetainInstance (true) el conjunto savedInstance siempre va a ser nulo después de cambiar la orientación. Por lo que realmente no se puede guardar algo con él, pero lo que puede hacer si necesita guardar algo, es ponerlo en un miembro de datos del fragmento, porque setRetainInstance (true) conserva el fragmento y no lo destruye, por lo que después El dispositivo fue girado usted va a tener los mismos valores.

Trate de obtener el savedInstanceState en onCreate del Fragment . Me gusta

  @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRetainInstance(true); if (savedInstanceState != null) { // IT MUST NOT BE NULL HERE } } 

Por favor, intenta … espero que funcione

  • FragmentManager popBackStack no quita el fragmento
  • Mostrar DialogFragment de onActivityResult
  • Navegación de la lista ActionBar Fragmentos superpuestos
  • ViewPager wrap_content no funciona
  • Indicador ViewPager con ListView personalizado
  • El desplazamiento de ViewPager no funciona con RecyclerView
  • Android TabLayout ViewPager no inflar el fragmento de la pestaña en backstack
  • Google Map lento después de mostrar un fragmento
  • Cómo manejar clics de botón utilizando el XML onClick dentro de Fragmentos
  • No se puede resolver FragmentActivity ejecutándose en Android 2.3.3 con el paquete de compatibilidad v4
  • Conversación ApplozicActivity to Fragment
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.