Avatar ·

Comment notifier un observateur lors de l'ajout d'un élément à une liste LiveData?

Bonjour ! Je suis débutant en développement Android avec Kotlin et j'essaie de comprendre l'architecture MVVM. J'ai un ViewModel qui stocke une liste d'éléments (par exemple, des tâches) dans LiveData>. Je souhaite que lors de l'ajout d'un nouvel élément à cette liste, tous les observateurs abonnés (par exemple, Activity ou Fragment) reçoivent une notification et mettent à jour l'UI. Le problème est que LiveData ne suit pas les modifications à l'intérieur de la liste elle-même. Si je fais simplement myList.add(newTask), les observateurs ne se déclenchent pas, car la référence à l'objet liste reste la même. J'ai essayé d'appeler postValue() et setValue() après l'ajout, mais cela n'aide pas. Voici un exemple de mon code : ```kotlin class TaskViewModel : ViewModel() { private val _tasks = MutableLiveData>(mutableListOf()) val tasks: LiveData> get() = _tasks fun addTask(task: Task) { _tasks.value?.toMutableList()?.add(task) // Ajoute à une copie _tasks.value = _tasks.value // Essaie de "mettre à jour" } } ```