Відповіді:
Фрагменти не мають onRestoreInstanceStateметоду.
Ви можете досягти того ж результату onActivityCreated, що отримує пакет із збереженим станом екземпляра (або null).
Перевірте вихідний код тут .
Я знаю, що ви прийняли відповідь, але ви повинні прочитати офіційну документацію про фрагменти , і вона говорить (параграф "Поводження з життєвим циклом фрагмента"):
Ви можете зберегти стан фрагмента, використовуючи пакет, якщо процес активності загине і вам потрібно відновити стан фрагмента, коли активність відтворена. Ви можете зберегти стан під час зворотного виклику фрагмента onSaveInstanceState () і відновити його під час onCreate (), onCreateView () або onActivityCreate ()
Таким чином, ви можете використовувати , що підходить вам найкраще: onCreate(), onCreateView()абоonActivityCreated()
У прикладі СписокFragment посібника з фрагментів ви можете знайти:
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("curChoice", mCurCheckPosition);
}
Що ви можете використовувати так:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (savedInstanceState != null) {
// Restore last state for checked position.
mCurCheckPosition = savedInstanceState.getInt("curChoice", 0);
}
}
onActivityCreated() викликається після повернення фрагмента зі стека.
onViewStateRestoredз Fragmentє еквівалентом onRestoreInstanceStateз Activity. Але це називається після onActivityCreated(Bundle)і раніше onStart().