OnSaveInstanceState с синглтоном

У меня есть класс данных Singleton, который я использую для хранения данных. Я обращаюсь к нему в разных Fragmentс.

Когда загружается первый Fragment, не проблема, что все поля в Singleton равны null. Когда отображается второй Fragment, это зависит от этих полей для отображения его данных. Первый Fragmentобеспечивает инициализацию этих полей.

Однако, когда пользователь нажимает кнопку «Домой» во втором Fragmentи снова открывает его примерно через час или около того, синглтон теряет все свои данные, и Fragmentпытается получить доступ к полям null.

Я хотел реализовать метод onSaveInstanceState, но не понимаю, как это работает -У меня нет экземпляра данных, которым можно было бы его назначить.

@Override
public void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putSerializable("DATA", Data.getInstance());
}

@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);

    savedInstanceState.getSerializable("DATA"); //What to do with this?
}

Любая помощь приветствуется.

7
задан nhaarman 14 July 2012 в 14:43
поделиться