Guardar objeto mientras cambia la orientación

Cómo guardar objetos mientras cambia la orientación, ya que onRetainNonConfigurationInstance y getLastNonConfigurationInstance están obsoletos. Y que no me puede utilizar con el compatibility package android-support-v4.jar FragmentActivity , donde se muestra Cannot override the final method from FragmentActivity

Sitio del desarrollador

Utilice la nueva Fragment API setRetainInstance (boolean) en su lugar;

Pero no sé cómo guardar un objeto personalizado mediante setRetainInstance

Mi escenario:
En mi actividad tengo un AsyncTask con diálogo de progreso. Aquí necesito manejar el cambio de orientación.
Para eso recibí una muy buena respuesta de Mark Murphy, CommonsWare
Background-task-progress-dialog-orientation-change-is-there-any-100-working ,
Con proyecto de ejemplo

Ya que estoy usando el paquete de compatibilidad android-support-v4.jar, FragmentActivity , no puedo anular onRetainNonConfigurationInstance
No se puede anular el método final de FragmentActivity

¿Hay algún método alternativo para guardar mi objeto personalizado?

EDIT: No puedo hacer mi AsyncTask tarea Parcelable (Si no estoy equivocado), ya que el uso de la interfaz, el contexto, etc Mi AsyncTask

  public class CommonAsyncTask extends AsyncTask<Object, Object, Object> { Context context; AsyncTaskServices callerObject; ProgressDialog progressDialog; String dialogMessag ; ................ 

Estoy buscando, ¿hay alguna alternativa para el método onRetainNonConfigurationInstance , que guardan un objeto completamente mientras que el cambio de orientación y más tarde se puede recuperar utilizando getLastNonConfigurationInstance

Hay dos alternativas:

  1. Utilice un Loader . El FragmentActivity se encargará de guardar / restaurar su estado al volver a crear.
  2. Utilice un fragmento sin una vista y llame a setRetainInstance(true) . Hay un ejemplo de esto en la fuente de la biblioteca de compatibilidad, FragmentRetainInstanceSupport o algo así.

Puede utilizar onRetainCustomNonConfigurationInstance.

Utilice esto en lugar de onRetainNonConfigurationInstance (). Recupere más adelante con getLastCustomNonConfigurationInstance ().

Cuando su Fragmento se detiene llamará a este método:

 @Override public void onSaveInstanceState(Bundle outState) { // Add variable to outState here super.onSaveInstanceState(outState); } 

La variable outState se alimentará entonces en el método onCreate () cuando el Fragmento se reinicie.

Puede guardar cualquier dato que sea de tipo básico o implementar la interfaz Parcelable

Bueno, cita de Android Developers' References :

Este método se llama después de onStart () cuando la actividad se está reinicializando desde un estado previamente guardado, dado aquí en savedInstanceState. La mayoría de las implementaciones simplemente usarán onCreate (Bundle) para restaurar su estado, pero a veces es conveniente hacerlo aquí después de que se haya realizado toda la inicialización o para permitir que las subclases decidan si utilizar la implementación predeterminada. La implementación predeterminada de este método realiza una restauración de cualquier estado de vista que previamente había sido congelado por onSaveInstanceState (Bundle).

Respecto al uso de onSaveInstanceState() , es mejor revertir sus objetos / cosas usando onRestoreInstanceState() .

Consulte Actividad # onRestoreInstanceState ()

  • Diseño de Android con barra de acciones y pestañas
  • SearchView no filtrar en cada niño Tab de TabLayout
  • Fragmentos en ViewPager se recrean
  • ¿Cómo puedo abrir un nuevo fragmento de otro fragmento
  • La instancia de fragmento se conserva pero el fragmento secundario no se vuelve a conectar
  • Android.view.InflateException: Línea de archivo XML binario # 7: Error al inflar fragmento de clase
  • Pasar los datos a otro fragmento de vista de desplazamiento con la pestaña de estudio de Android, no botón
  • ListView vacía después de volver al fragmento
  • Android Wear - Añadir icono por encima de CardFragment
  • Interfaz de paso al fragmento
  • Diferentes fragmentos no se cargaron cuando se cambió la orientación (android)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.