studio navegar llamar lanzar fragments example entre desde activity abrir android android-fragments

android - navegar - Fragment''s onSaveInstanceState() nunca se llama



onsaveinstancestate android example (6)

Intento guardar datos en OnSaveInstanceState () de un fragmento, pero nunca se llama al método.

¿Alguien puede ayudar?

public class MyFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { ScrollView content = (ScrollView) inflater.inflate(R.layout.content, container, false); // More stuff return content; } @Override public void onSaveInstanceState(Bundle icicle) { // NEVER CALLED super.onSaveInstanceState(icicle); //More stuff } }


En algunas situaciones, puede resultarle útil utilizar argumentos de fragmentos en lugar de savedInstanceState . Explicación adicional


Encontré la misma pregunta con usted y probé el método SaveInstanceState (), pero no funcionó.

Creo que onSaveInstanceState () solo funciona para el escenario en el que el usuario salta de una actividad a otra y viceversa, no funciona en el escenario en que el usuario salta entre fragmentos en la misma actividad.

aquí está el documento guía de Google. http://developer.android.com/guide/components/tasks-and-back-stack.html#ActivityState


Finalmente descubrí el problema, al menos en mi caso. Tuve una onSaveInstanceState en mi FragmentActivity que no llamó a super.onSaveInstanceState(Bundle outState) . Una vez que agregué eso, el Fragment.onSaveInstanceState(Bundle outState) funcionó normalmente.




Una cosa que android:configChanges verificar es asegurarte de que la Actividad que contiene el fragmento no impida un reinicio al incluir el indicador android:configChanges en el android:configChanges AndroidManifest.xml.