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
- ¿Mostrar el diálogo del fragmento?
- Ocultar barra de acción en el fragmento lanza NullPointerException?
- Android - ¿Por qué debería implementar la interfaz mientras se comunica entre la actividad principal y el fragmento
- Análisis de Google con fragmento
- Fragmentos Detatch / Reattach Vs Mostrar / Ocultar
@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.
- Android - IllegalStateException: mapa tiene tamaño cero
- Obtener referencia al fragmento anidado de FragmentTabHost
- En android ¿cómo puedo crear diferentes fragmentos / pilas de actividades dentro de cada ficha que persisten en los cambios de tabulación?
- Margen de diseño / relleno en la parte superior del fragmento de diálogo
- Guardar y restaurar el estado de la interfaz de usuario del fragmento cuando se empuja y sale del backstack
- No se puede cambiar dinámicamente un diseño de DialogFragment personalizado
- EXCEPCIÓN FATAL: principal java.lang.NoClassDefFoundError: android.support.v7.internal.widget.TintManager
- Una Actividad y todos los otros Fragmentos
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
- Evento de sincronización agregado mediante programación con google calendar en android
- "No se encontraron pruebas" para las pruebas de instrumentación de Lollipop y superiores