Junior — Middle
Hogyan valósítható meg a felhasználói felület állapotának mentése és visszaállítása Jetpack Compose használata esetén?
sobes.tech MI
Válasz az MI-től
A Jetpack Compose-ban az State mechanizmust és speciális API-kat használunk az felhasználói felület állapotának mentésére és helyreállítására az összetevők újraalkotása során.
Fő módszerek:
-
rememberSaveable — megőrzi az állapotot az összetevő újraalkotásakor és akár konfigurációs változások (pl. képernyőforgatás) esetén is. A háttérben a
SavedStateHandle-t használja. -
ViewModel — tárolja az állapotot, amely túléli az Activity/Fragment újraalkotását.
A rememberSaveable használatának példája:
var text by rememberSaveable { mutableStateOf("") }
TextField(
value = text,
onValueChange = { text = it }
)
Így, ha a felhasználó szöveget ír be, az nem fog elveszni a képernyő forgatásakor.
Komplexebb állapotok esetén a SavedStateHandle segítségével mentett állapotú ViewModel-t lehet használni.