L'utilizzo di variabili/classi statiche rappresenta un approccio errato in termini di manutenibilità e debug.
Sono stato con Activity.onRetainNonConfigurationInstance
ma ho scoperto solo ora che questo è deprecato (probabilmente dal nido d'ape o successiva). Activity.onRetainNonConfigurationInstance
Utilizzando questo metodo, basta chiamare Activity.getLastNonConfigurationInstance
per recuperare lo stesso oggetto restituito nella onRetainNonConfigurationInstance
. Assicurati di controllare null e cast nella classe giusta (puoi restituire/ottenere qualsiasi classe).Activity.getLastNonConfigurationInstance
Un esempio dell'uso in pseudo-codice sarebbe:
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";
Quindi, se ci si rivolge fino a 2.x.x è possibile utilizzare tale metodo. Altrimenti, Google consiglia di utilizzare Fragment.setRetainInstance
. Questo è retrocompatibile tramite il pacchetto di compatibilità.
Fragment.setRetainInstance
fonte
2011-08-23 21:37:33
Giusto, il mio 1 punto a voi :) – darma
@Pedro Loureiro Ma questo non funziona per un'attività, solo un Frutto, giusto? –