Respuestas:
Los fragmentos no tienen onRestoreInstanceState
método.
Puede lograr el mismo resultado en onActivityCreated
, que recibe un paquete con el estado de instancia guardado (o nulo).
Consulta el código fuente aquí .
Sé que ha aceptado la respuesta, pero debe leer la documentación oficial sobre los fragmentos , y dice (párrafo "Manejo del ciclo de vida de los fragmentos"):
Puede conservar el estado de un fragmento mediante un paquete, en caso de que se elimine el proceso de la actividad y necesite restaurar el estado del fragmento cuando se vuelva a crear la actividad. Puede guardar el estado durante la devolución de llamada onSaveInstanceState () del fragmento y restaurarlo durante onCreate (), onCreateView () o onActivityCreated ()
Por lo tanto, se puede utilizar que más le convenga: onCreate()
, onCreateView()
oonActivityCreated()
En el ejemplo de ListFragment de la guía Fragments puede encontrar:
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("curChoice", mCurCheckPosition);
}
Que puedes usar así:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (savedInstanceState != null) {
// Restore last state for checked position.
mCurCheckPosition = savedInstanceState.getInt("curChoice", 0);
}
}
onActivityCreated()
se invoca después de que el fragmento regresa de la pila.
onViewStateRestored
de Fragment
es el equivalente de onRestoreInstanceState
de Activity
. Pero se llama después onActivityCreated(Bundle)
y antes onStart()
.