Tengo problemas para entender cómo crear un DialogFragment simple para editar un objeto (complejo), por ejemplo, una persona, con nombre y apellido, y una lista de direcciones de correo electrónico que constan cada una de ellas una enumeración (Trabajo, Hogar, etc.) y la dirección.Android DialogFragmento y cambios de configuración
En primer lugar, ¿cómo paso correctamente el objeto Persona a un DialogFragment? Mi solución actual tiene un método setPerson (Person person), que se llama después de que se crea mi DialogFragment, pero antes dialog.show(). Esto funciona bien, hasta que se produzca un cambio de configuración (el usuario gira la pantalla). El DialogFragment se vuelve a crear y la referencia a mi objeto Person es nula. Sé que puedo guardar la instancia usando onSaveInstanceState, pero el objeto es complejo y costoso, y persistir en un objeto grande de esta manera parece un desperdicio.
También intenté deshabilitar el cambio de configuración en la actividad que utiliza mi diálogo, y eso soluciona el problema, pero quiero que el diálogo sea reutilizable y requiera todas las actividades que lo usan para deshabilitar los cambios de configuración.
La tercera opción sería guardar la referencia a Persona en una variable estática, pero de nuevo, quiero que el diálogo sea reutilizable y capaz de admitir instancias múltiples.
¿Cómo manejan otras personas sus costosos y complejos objetos en diálogos reutilizables?