RomanoO
@RomanoO

Как сохранить состояние фрагмента, когда вызывется FragmentTransaction.detach()?

Добрый вечер, Хабр!

Помогите, кто может…

Написал приложение с вкладками, используя этот мануал. Столкнулся с проблемой, что когда переключаются вкладки, не вызывается onSavedInstanseState фрагмента на текущей вкладке, а при переходе обратно идут все вызовы по порядку, и, естественно, из savedInstanceState ничего не восстанавливается. Как быть?
  • Вопрос задан
  • 3497 просмотров
Решения вопроса 1
RomanoO
@RomanoO Автор вопроса
Все проще, чем ожидалось:
LinkedList savedDevicesNames = null;

@Override
public void onActivityCreated(Bundle savedInstanceState) {
if (D) { Log.d(TAG, "onActivityCreated"); }

super.onActivityCreated(savedInstanceState);

if (savedDevicesNames != null) {
for (String deviceNameAddr : savedDevicesNames) {
adapter.add(deviceNameAddr);
}
}
}

@Override
public void onDestroyView() {
super.onDestroyView();
savedDevicesNames = new LinkedList();
for (int i = 0; i < adapter.getCount(); i++) {
savedDevicesNames.add(adapter.getItem(i));
}
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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