Avatar ·

Wie benachrichtigt man einen Beobachter beim Hinzufügen eines Elements zu einer LiveData-Liste?

Hallo! Ich bin ein Anfänger in der Android-Entwicklung mit Kotlin und versuche, die MVVM-Architektur zu verstehen. Ich habe eine ViewModel, die eine Liste von Elementen (z.B. Aufgaben) in LiveData> speichert. Ich möchte, dass beim Hinzufügen eines neuen Elements zu dieser Liste alle abonnierten Beobachter (z.B. Activity oder Fragment) benachrichtigt werden und die UI aktualisieren. Das Problem ist, dass LiveData Änderungen innerhalb der Liste selbst nicht verfolgt. Wenn ich einfach myList.add(newTask) mache, werden die Beobachter nicht ausgelöst, weil die Referenz auf das Listenobjekt dieselbe bleibt. Ich habe versucht, postValue() und setValue() nach dem Hinzufügen aufzurufen, aber das hilft nicht. Hier ist ein Beispiel meines Codes: ```kotlin class TaskViewModel : ViewModel() { private val _tasks = MutableLiveData>(mutableListOf()) val tasks: LiveData> get() = _tasks fun addTask(task: Task) { _tasks.value?.toMutableList()?.add(task) // Füge zur Kopie hinzu _tasks.value = _tasks.value // Versuche zu "aktualisieren"