Sobes.tech
Junior — Middle

Чӣ гуна метавон бо ViewModel барои навсозии намоиши маълумот дар View ҳамкорӣ кард?

sobes.tech AI

Ҷавоб аз AI

Дар ViewModel одатан маълумотлар ва логика сақланади, улар Viewда кўрсатилиши керак. Androidда ViewModelдан Viewга маълумотларни янгилаш учун кўпинча LiveData ёки Observable билан кузатувчи паттерни қўлланилади.

Асосий ўзаро таъсир қилиш усули:

  • ViewModel маълумотлар билан LiveDataни ўз ичига олади.
  • View (Activity ёки Fragment) LiveDataдаги ўзгаришларга ёзилади.
  • ViewModelда маълумотлар ўзгарганда, LiveData Viewни хабардор қилади, ва UI автоматик равишда янгиланади.

LiveData билан мисол:

class MyViewModel : ViewModel() {
    val data: MutableLiveData<String> = MutableLiveData()

    fun updateData(newValue: String) {
        data.value = newValue
    }
}

// Activity ёки Fragmentда
viewModel.data.observe(viewLifecycleOwner) { updatedData ->
    textView.text = updatedData
}

Шу тарзда, ViewModel тўғридан-тўғри Viewни янгиламайди, балки маълумотларни LiveData орқали таъминлайди, ва View ўзгаришларга жавоб беради ва кўрсатишни янгилайди.