Sobes.tech
Junior — Middle

Wie kann man mit ViewModel interagieren, um die Datenanzeige in der View zu aktualisieren?

sobes.tech KI

Antwort von AI

In der ViewModel werden in der Regel Daten und Logik gespeichert, die in der View angezeigt werden sollen. Um die Anzeige der Daten in der View aus der ViewModel in Android zu aktualisieren, verwendet man häufig das Beobachter-Muster mit LiveData oder Observable.

Hauptinteraktionsmethode:

  • Die ViewModel enthält LiveData mit Daten.
  • Die View (Activity oder Fragment) abonniert Änderungen an LiveData.
  • Bei Änderungen der Daten in der ViewModel benachrichtigt LiveData die View, und die UI wird automatisch aktualisiert.

Beispiel mit LiveData:

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

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

// In Activity oder Fragment
viewModel.data.observe(viewLifecycleOwner) { updatedData ->
    textView.text = updatedData
}

Auf diese Weise aktualisiert die ViewModel die View nicht direkt, sondern stellt Daten über LiveData bereit, und die View reagiert auf Änderungen und aktualisiert die Anzeige.