I've got a composable on a Screen which shows a list of Track items (favourites) :
var favourites: MutableList<Track> by mutableStateOf(mutableListOf())
@ExperimentalFoundationApi
@Composable
private fun ResultList(model: FreezerModel) {
with(model) {
if (favourites.isEmpty()) NoDataMessage("No favourites yet")
else {
LazyColumn(state = rememberLazyListState()) {
items(favourites) {
TrackCard(it, model)
}
}
}
}
}
On click events, I am updating my favourites list (add/remove item). How can I make my composable reflect these changes immediately (like to re-draw itself or something similar)? So far, it only works when I first switch to another screen.
Thanks for your inputs!
MutableStateList<T>
. Use varfavourites by mutableStateListOf<Track>()
– Gabriele MariottiList<T>
norArray<T>
supported byitems()
and are therefore cannot be used as a parameter toitems()
directly. In this case, callingtoList()
on the set every time is updated would work. – chuckj