android — фрагмент Android на RestoreInstanceState" />

фрагмент Android на RestoreInstanceState

Я что-то упустил или у Fragment нет onRestoreInstanceState() метод? Если нет, то как мне добиться чего-то подобного?

108 голосов | спросил Shaun 24 MaramThu, 24 Mar 2011 02:00:39 +03002011-03-24T02:00:39+03:0002 2011, 02:00:39

4 ответа


0

Фрагменты не имеют метода onRestoreInstanceState.

Тот же результат можно получить в onActivityCreated, который получает пакет с сохраненным состоянием экземпляра (или нулевым).

Проверьте исходный код здесь .

ответил mgv 24 MaramThu, 24 Mar 2011 03:28:13 +03002011-03-24T03:28:13+03:0003 2011, 03:28:13
0

Я знаю, что вы приняли ответ, но вы должны прочитать официальную документацию о фрагментах и в нем говорится (параграф «Обработка жизненного цикла фрагмента»):

  

Вы можете сохранить состояние фрагмента, используя Bundle, в случае, если процесс действия завершен, и вам необходимо восстановить состояние фрагмента при повторном создании действия. Вы можете сохранить состояние во время обратного вызова фрагмента onSaveInstanceState () и восстановить его во время onCreate (), onCreateView () или onActivityCreated ()

Таким образом, вы можете использовать то, что вам больше подходит: onCreate(), onCreateView() или onActivityCreated()

ответил jimpanzer 10 WedEurope/Moscow2014-12-10T17:37:09+03:00Europe/Moscow12bEurope/MoscowWed, 10 Dec 2014 17:37:09 +0300 2014, 17:37:09
0

В ListFragment руководства фрагментов пример вы можете найти:

@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() вызывается после возврата фрагмента из стека.

ответил Gaurav Darji 7 Maypm14 2014, 16:27:29
0

onViewStateRestored из Fragment является эквивалентом onRestoreInstanceState из Activity. Но он вызывается после onActivityCreated(Bundle) и перед onStart().

ответил nhkhanh 25 J0000006Europe/Moscow 2016, 10:56:28

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132