Junior — Middle
Cum se poate interacționa cu ViewModel pentru a actualiza afișarea datelor în View?
sobes.tech AI
Răspuns de la AI
În ViewModel, de obicei, se stochează datele și logica care trebuie afișate în View. Pentru a actualiza afișarea datelor în View din ViewModel în Android, se folosește adesea pattern-ul observator cu LiveData sau Observable.
Modul principal de interacțiune:
- ViewModel conține LiveData cu date.
- View (Activity sau Fragment) se abonează la modificările LiveData.
- Când datele se schimbă în ViewModel, LiveData notifică View-ul, iar UI-ul se actualizează automat.
Exemplu cu LiveData:
class MyViewModel : ViewModel() {
val data: MutableLiveData<String> = MutableLiveData()
fun updateData(newValue: String) {
data.value = newValue
}
}
// În Activity sau Fragment
viewModel.data.observe(viewLifecycleOwner) { updatedData ->
textView.text = updatedData
}
Astfel, ViewModel nu actualizează direct View-ul, ci furnizează date prin LiveData, iar View-ul reacționează la schimbări și actualizează afișarea.