В Android Fragment у него есть onSaveInstanceState()
, что позволяет сохранять некоторые данные для восстановления состояния, когда ОС воссоздает фрагмент.
onSaveInstanceState(outState: Bundle) {
outState.putString("dataStr", dataStr)
}
Как насчет данных, уже находящихся в аргументе фрагмента?Кажется, после того, как фрагмент воссоздан, предыдущие аргументы также восстановлены.
// set the argument
Bundle bundle = new Bundle();
bundle.putString("dataStr", dataStr);
AFragment aFragment = new AFragment();
aFragment.setArguments(bundle);
//get the argument inside the AFragment
Bundle bundle=getArguments();
Означает ли это, что если что-то находится в аргументе фрагмента, то их не нужно сохранять через onSaveInstanceState()
?
Вопрос: поскольку аргумент может быть обновлен внутри фрагмента, это альтернатива для сохранения данных в аргументе вместо сохранения через onSaveInstanceState()
?
Или какая-то разница с использованием этих двух?