Respostas:
Os fragmentos não têm onRestoreInstanceState
método.
Você pode obter o mesmo resultado em onActivityCreated
, que recebe um pacote com o estado da instância salva (ou nulo).
Verifique o código-fonte aqui .
Eu sei que você aceitou a resposta, mas você deve ler a documentação oficial sobre fragmentos , e ela diz (parágrafo "Manipulando o Ciclo de Vida do Fragmento"):
Você pode reter o estado de um fragmento usando um Bundle, caso o processo da atividade seja eliminado e você precise restaurar o estado do fragmento quando a atividade for recriada. Você pode salvar o estado durante o retorno de chamada onSaveInstanceState () do fragmento e restaurá-lo durante onCreate (), onCreateView () ou onActivityCreated ()
Assim, você pode usar o que melhor lhe convier: onCreate()
, onCreateView()
ouonActivityCreated()
No exemplo de ListFragment do guia Fragments, você pode encontrar:
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("curChoice", mCurCheckPosition);
}
Que você pode usar assim:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (savedInstanceState != null) {
// Restore last state for checked position.
mCurCheckPosition = savedInstanceState.getInt("curChoice", 0);
}
}
onActivityCreated()
é invocado depois que o fragmento retorna da pilha.
onViewStateRestored
de Fragment
é equivalente a onRestoreInstanceState
de Activity
. Mas é chamado depois onActivityCreated(Bundle)
e antes onStart()
.