Я использую Live Data в своем приложении, и у меня есть модель представления, которая расширяется от ViewModel
.
В моей модели представления у меня есть список, который:
var songs: MutableLiveData<List<Song>> = MutableLiveData<List<Song>>()
В функции в моей модели представления я делаю это:
songs.value?.find { it.id == song.id }.also {
when (song.isFavorite) {
true -> song.isFavorite = false
false -> song.isFavorite = true
}
}
Я изменю логическое значение в элементе в songs
и в фрагменте m я наблюдаю этот список, как показано ниже:
viewModel.songs.observe(this , Observer {
Log.d(TAG , "songs changed")
})
Но песни не будут уведомлять после этого изменения.
Почему это происходит?
Спасибо за ваши ответы.