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 реагира на промените и обновява показването.