2013-11-14 5 views
1

Внутри моей деятельности Я создаю экземпляр объекта, который отвечает за запрос, обработку и хранение данных, необходимых для фрагментов. Я собирался использовать onRetainNonConfigurationInstance(), чтобы сохранить объект после изменений конфигурации, но я просто понял, что метод устарел.Android: onRetainNonConfigurationInstance() устарел?

Я вижу, что новый рекомендованный способ - использовать Fragment's setRetainInstance(), но это не похоже на то, что мне нужно, потому что мой объект не имеет дело только с одним фрагментом.

Есть ли у вас какие-либо предложения?

ответ

4

, потому что мой объект не имеет дело только с 1 фрагмент

Нет, но ваш фрагмент может иметь дело с тем, что объект.

onRetainNonConfigurationInstance() требует, чтобы вы упаковывали все в один объект. Рассмотрим стратегию сохраненного фрагмента, требующую, чтобы этот «один объект» был фрагментом, на котором вы называете setRetainInstance(). Все, что вы могли бы сделать с onRetainNonConfigurationInstance(), должно выполняться с сохраненным фрагментом.

+0

Я не уверен. В документации 'setRetainInstance()' говорится: «Это можно использовать только с фрагментами, не входящими в задний стек»: http://developer.android.com/reference/android/app/Fragment.html#setRetainInstance%28boolean % 29 Итак, это означает, что если я получаю доступ к фрагменту B из фрагмента A, так что фрагмент A переходит в задний стек, я не могу использовать объект, сохраненный A, для заполнения данных в фрагменте B. –

+0

@DanieleB: Затем сохранить Фрагмент C. Это не должно быть одним из ваших существующих фрагментов. Он не должен иметь пользовательский интерфейс. Добавьте его в свой 'FragmentManager' с помощью [add()' on' FragmentTransaction', который принимает тег] (http://developer.android.com/reference/android/app/FragmentTransaction.html#add%28android.app .Fragment,% 20java.lang.String% 29) и получить позже тег. Это так называемый «образцовый фрагмент». – CommonsWare

+0

Я вижу ... это может быть решение ... У вас есть документация/статья об этом шаблоне «модельного фрагмента»? Спасибо –

Смежные вопросы