Sobes.tech
Junior — Middle

Как може да се взаимодейства с ViewModel за актуализиране на показването на данни във View?

sobes.tech AI

Отговор от AI

В ViewModel обикновено се съхраняват данни и логика, които трябва да се показват във View. За актуализиране на показването на данни във View от ViewModel в Android често се използва патърнът наблюдател с 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 реагира на промените и обновява показването.