Sobes.tech
Junior — Middle

Hogyan valósul meg a ViewModel használata a Jetpackben a felhasználói felület állapotának kezelésére?

sobes.tech MI

Válasz az MI-től

A Jetpackben a ViewModel-t az UI állapotának tárolására és kezelésére használják, megőrizve az adatokat konfigurációs változások (például képernyőforgatás) során. A ViewModel elválasztja az UI logikát az Activity-től vagy Fragmenttől, ami megkönnyíti a tesztelést és a karbantartást.

Használati példa:

class MyViewModel : ViewModel() {
    private val _text = MutableLiveData<String>()
    val text: LiveData<String> = _text

    fun updateText(newText: String) {
        _text.value = newText
    }
}

// Az Activity-ben vagy Fragmentben
val viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
viewModel.text.observe(this) { updatedText ->
    textView.text = updatedText
}

Így a ViewModel olyan adatokat tárol, amelyek túlélnek az UI újraalkotásán, és LiveData-n keresztül biztosítja azokat a reaktív felhasználói felület frissítéséhez.