El uso de variables/clases estáticas es un mal enfoque en términos de mantenimiento y eliminación de fallas.
He estado usando Activity.onRetainNonConfigurationInstance
pero descubrí hace un momento que este es obsoleto (probablemente desde nido de abeja o posterior). Activity.onRetainNonConfigurationInstance
Usando este método, sólo llame Activity.getLastNonConfigurationInstance
para recuperar el mismo objeto que regresó en el onRetainNonConfigurationInstance
. Asegúrese de verificar nulo y emitir a la clase correcta (puede devolver/obtener cualquier clase).Activity.getLastNonConfigurationInstance
Un ejemplos de uso en pseudo-código sería:
onRetainNonConfigurationInstance:
return "I need to remember this next time";
onCreate:
...
String messageToShow = null;
Object data = getLastNonConfigurationInstance();
if(data != null)
messageToShow = (String)data;
else
messageToShow = "Nothing to show";
Por lo tanto, si está destinada a una audiencia de hasta 2.x.x puede usar ese método. De lo contrario, google recomienda que uses Fragment.setRetainInstance
. Esto es compatible con versiones anteriores a través del paquete de compatibilidad.
Fragment.setRetainInstance
Derecha, mi 1 punto :) – darma
@Pedro Loureiro Pero esto no funciona para una actividad, solo una perversión, ¿verdad? –