Sobes.tech
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.