Junior — Middle
ViewModel bilan qanday qilib ma'lumotlarni ko'rsatishni yangilash uchun o'zaro ta'sir qilish mumkin?
sobes.tech AI
AIdan javob
ViewModel odatda, Viewda ko'rsatilishi kerak bo'lgan ma'lumotlar va mantiqni saqlaydi. Androidda ViewModeldan Viewga ma'lumotlarni yangilash uchun ko'pincha LiveData yoki Observable bilan kuzatuvchi shabloni ishlatiladi.
Asosiy o'zaro ta'sir qilish usuli:
- ViewModel ma'lumotlar bilan LiveData ni o'z ichiga oladi.
- View (Activity yoki Fragment) LiveData o'zgarishlariga yoziladi.
- ViewModelda ma'lumotlar o'zgarganda, LiveData Viewni xabardor qiladi va UI avtomatik ravishda yangilanadi.
LiveData bilan misol:
class MyViewModel : ViewModel() {
val data: MutableLiveData<String> = MutableLiveData()
fun updateData(newValue: String) {
data.value = newValue
}
}
// Activity yoki Fragmentda
viewModel.data.observe(viewLifecycleOwner) { updatedData ->
textView.text = updatedData
}
Shunday qilib, ViewModel to'g'ridan-to'g'ri Viewni yangilamaydi, balki ma'lumotlarni LiveData orqali taqdim etadi va View o'zgarishlarga javob beradi va ko'rsatishni yangilaydi.