У меня есть 2 сериализуемых объекта, которые я хочу сохранить после восстановления моего фрагмента. Поэтому я сохранил их в onSaveInstanceState (объекты не обнулить здесь):Сохраненный пакет не содержит данных
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putSerializable(RENDERER, renderer);
outState.putSerializable(SERIES, series);
}
В OnCreate метод фрагмента я стараюсь, чтобы получить их из Bundle:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
renderer = (DefaultRenderer) savedInstanceState.getSerializable(RENDERER);
series = (CategorySeries) savedInstanceState.getSerializable(SERIES);
}
}
Проблема заключается в том, что «renderer» и «series» всегда имеют значение null после вызова getSerializable. Любые идеи почему?
Вы сказали, что после того, как ваш фрагмент перестроен, но эти методы взяты из жизненного цикла активности. –
может у вас putInt и посмотреть, работает ли его? –
Я пробовал putString, и это сработало! Я действительно не понимаю ... – lebenlechzer