Sollten wir „savedInstanceState“ in Fragmenten verwenden, wenn getArguments() vorhanden ist?Android

Forum für diejenigen, die für Android programmieren
Anonymous
 Sollten wir „savedInstanceState“ in Fragmenten verwenden, wenn getArguments() vorhanden ist?

Post by Anonymous »

In Android-Fragmenten können wir Anfangsdaten in onCreate() von savedInstanceState oder getArguments() abrufen. Ich überprüfe sie oft auf null und weise dann Variablen zu. Zum Beispiel in Kotlin:

Code: Select all

val bundle = savedInstanceState ?: arguments
bundle?.let {
startDate = Date(it.getLong(ARG_START_DATE, 0))
endDate = Date(it.getLong(ARG_END_DATE, startDate.time))
}
Also überprüfe ich zuerst, ob „savedInstanceState != null“ und wenn ja, erhalte ich Daten von dort. Wenn es null ist, überprüfe ich getArguments() != null und wenn ja, erhalte ich Daten von dort. Andernfalls sind die Variablen null, 0 oder false.

Wenn wir ein Fragment verlassen und onSaveInstanceState() aufrufen, können wir Daten in ein Bundle schreiben und sie später in onCreate() lesen. Wir können aber auch Daten in getArguments() schreiben und sie von jeder Stelle des Fragments lesen. Warum sollten wir savedInstanceState verwenden, da wir in getArguments() schreiben können?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post