Как сохранить объект при изменении ориентации, поскольку onRetainNonConfigurationInstance и getLastNonConfigurationInstance устарели. И что я не могу использовать с compatibility package
android-support-v4.jar
FragmentActivity
, где он показывает Cannot override the final method from FragmentActivity
сайт разработчика говорит
Вместо этого используйте новый API-интерфейс фрагмента setRetainInstance (boolean);
Но я не знаю, как сохранить пользовательский объект, используя setRetainInstance
Мой сценарий:
В моей деятельности у меня есть AsyncTask с диалоговом индикатором прогресса. Здесь мне нужно обработать изменение ориентации.
Для этого я получил очень хороший ответ от Марка Мерфи, CommonsWare
background-task-progress-dialog-orientation-change-is-there-any-100-working,
с пример проекта
Поскольку я использую пакет совместимости android-support-v4.jar, FragmentActivity
, я не могу переопределить onRetainNonConfigurationInstance
Невозможно переопределить конечный метод из FragmentActivity
Есть ли альтернативный метод для сохранения моего пользовательского объекта?
EDIT:
Я не могу выполнить задачу AsyncTask Parcelable (если я не ошибаюсь), поскольку она использует интерфейс, контекст и т.д.
Мой AsyncTask
public class CommonAsyncTask extends AsyncTask<Object, Object, Object> {
Context context;
AsyncTaskServices callerObject;
ProgressDialog progressDialog;
String dialogMessag ;
................
Я ищу, есть ли альтернативы метода onRetainNonConfigurationInstance, которые полностью сохраняют объект во время изменения ориентации и позже могут быть получены с помощью getLastNonConfigurationInstance