Linguaggio

Activity.OnSaveInstanceState Metodo

Definizione

Overload

Nome Descrizione
OnSaveInstanceState(Bundle)

Chiamato per recuperare lo stato per istanza da un'attività prima dell'interruzione in modo che lo stato possa essere ripristinato in onCreate(Bundle) o onRestoreInstanceState(Bundle) (il bundle popolato da questo metodo verrà passato a entrambi).

OnSaveInstanceState(Bundle, PersistableBundle)

Si tratta dello stesso valore di onSaveInstanceState(Bundle), ma viene chiamato per le attività create con l'attributo R.attr.persistableMode impostato su persistAcrossReboots.

OnSaveInstanceState(Bundle)

Chiamato per recuperare lo stato per istanza da un'attività prima dell'interruzione in modo che lo stato possa essere ripristinato in onCreate(Bundle) o onRestoreInstanceState(Bundle) (il bundle popolato da questo metodo verrà passato a entrambi).

[Android.Runtime.Register("onSaveInstanceState", "(Landroid/os/Bundle;)V", "GetOnSaveInstanceState_Landroid_os_Bundle_Handler")]
protected virtual void OnSaveInstanceState(Android.OS.Bundle outState);
[<Android.Runtime.Register("onSaveInstanceState", "(Landroid/os/Bundle;)V", "GetOnSaveInstanceState_Landroid_os_Bundle_Handler")>]
abstract member OnSaveInstanceState : Android.OS.Bundle -> unit
override this.OnSaveInstanceState : Android.OS.Bundle -> unit

Parametri

outState
Bundle

Bundle: bundle in cui posizionare lo stato salvato. Questo valore non può essere Null.

Attributi

Commenti

Chiamato per recuperare lo stato per istanza da un'attività prima dell'interruzione in modo che lo stato possa essere ripristinato in onCreate(Bundle) o onRestoreInstanceState(Bundle) (il bundle popolato da questo metodo verrà passato a entrambi). Questo metodo viene chiamato prima che un'attività venga terminata in modo che, quando torna indietro in futuro, possa ripristinarne lo stato. Ad esempio, se l'attività B viene avviata davanti all'attività A e a un certo punto l'attività A viene terminata per recuperare le risorse, l'attività A avrà la possibilità di salvare lo stato corrente dell'interfaccia utente tramite questo metodo in modo che quando l'utente torna all'attività A, lo stato dell'interfaccia utente può essere ripristinato tramite onCreate(Bundle) o onRestoreInstanceState(Bundle). Non confondere questo metodo con i callback del ciclo di vita dell'attività, ad esempio onPause(), che viene sempre chiamato quando l'utente non interagisce più attivamente con un'attività o onStop() che viene chiamato quando l'attività diventa invisibile. Un esempio di quando viene chiamato onPause() e onStop() e non questo metodo è quando un utente torna dall'attività B all'attività A: non è necessario chiamare onSaveInstanceState(Bundle) su B perché tale istanza specifica non verrà mai ripristinata, quindi il sistema evita di chiamarlo. Un esempio quando viene chiamato onPause() e non onSaveInstanceState(Bundle) è quando l'attività B viene avviata davanti all'attività A: il sistema può evitare di chiamare onSaveInstanceState(Bundle) sull'attività A se non viene terminata durante la durata di B perché lo stato dell'interfaccia utente di A rimarrà intatto. L'implementazione predefinita si occupa della maggior parte dello stato dell'interfaccia utente per istanza chiamando View.onSaveInstanceState() in ogni visualizzazione della gerarchia con un ID e salvando l'ID della visualizzazione attualmente incentrata (tutte ripristinate dall'implementazione predefinita di onRestoreInstanceState(Bundle)). Se si esegue l'override di questo metodo per salvare informazioni aggiuntive non acquisite da ogni singola visualizzazione, è probabile che si voglia chiamare all'implementazione predefinita, altrimenti si è pronti a salvare tutto lo stato di ogni visualizzazione manualmente. Se viene chiamato, questo metodo verrà eseguito dopo onStop() per le applicazioni destinate alle piattaforme a partire da Build.VERSION_CODES.P. Per le applicazioni destinate alle versioni precedenti della piattaforma, questo metodo si verificherà prima di onStop() e non vi sono garanzie su se si verificherà prima o dopo onPause().

Vedere anche:

Informazioni di riferimento su Android per android.app.Activity.onSaveInstanceState.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a

OnSaveInstanceState(Bundle, PersistableBundle)

Si tratta dello stesso valore di onSaveInstanceState(Bundle), ma viene chiamato per le attività create con l'attributo R.attr.persistableMode impostato su persistAcrossReboots.

[Android.Runtime.Register("onSaveInstanceState", "(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V", "GetOnSaveInstanceState_Landroid_os_Bundle_Landroid_os_PersistableBundle_Handler")]
public virtual void OnSaveInstanceState(Android.OS.Bundle outState, Android.OS.PersistableBundle outPersistentState);
[<Android.Runtime.Register("onSaveInstanceState", "(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V", "GetOnSaveInstanceState_Landroid_os_Bundle_Landroid_os_PersistableBundle_Handler")>]
abstract member OnSaveInstanceState : Android.OS.Bundle * Android.OS.PersistableBundle -> unit
override this.OnSaveInstanceState : Android.OS.Bundle * Android.OS.PersistableBundle -> unit

Parametri

outState
Bundle

Bundle: bundle in cui posizionare lo stato salvato. Questo valore non può essere Null.

outPersistentState
PersistableBundle

PersistableBundle: stato che verrà salvato tra riavvii. Questo valore non può essere Null.

Attributi

Commenti

Si tratta dello stesso valore di onSaveInstanceState(Bundle), ma viene chiamato per le attività create con l'attributo R.attr.persistableMode impostato su persistAcrossReboots. Il persistableBundle passato verrà salvato e presentato in onCreate(Bundle,PersistableBundle) la prima volta che questa attività viene riavviata dopo il successivo riavvio del dispositivo.

Vedere anche:

Informazioni di riferimento su Android per android.app.Activity.onSaveInstanceState.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a