List doesnt update when item deleted

I’ve got a ViewModel where I put all the logic code The problem is when I click on the delete button then the list doesn’t update. When I manually refresh then I can see that de item is deleted.

Viewmodel

@HiltViewModel
class CommentViewModel @Inject constructor(private val _repo : Repository): ViewModel() {
    var isLoading = mutableStateOf(false)
    //private var _getComments  = MutableLiveData<List<Comment>>()
    //var getComments: LiveData<List<Comment>> = _getComments
    private var _getComments  = MutableStateFlow(listOf<Comment>())
    val getComments: StateFlow<List<Comment>> get() = _getComments
  ////delete
  //private var _deleteComment: MutableLiveData<Comment> = MutableLiveData<Comment>()
  //var deleteComment: LiveData<Comment> = _deleteComment
  ////add
  //private var _addComment: MutableLiveData<CreateCommentViewModel> = MutableLiveData<CreateCommentViewModel>()
  //var addComment: LiveData<CreateCommentViewModel> = _addComment

    init {
    getComments
    }
    suspend fun getComments(id: Int): Resource<List<Comment>> {
        val result = _repo.getCommentsByDocreviewId(id)
        viewModelScope.launch(Dispatchers.Default) {
            if (result is Resource.Success) {
                       isLoading.value = true
                       _getComments.emit(result.data!!)
                   }
        }
        return result
    }
    suspend fun deleteComment(id: Int) {
        val result = _repo.deleteComment(id)
        viewModelScope.launch(Dispatchers.Default) {
            if (result is Resource.Success) {
                isLoading.value = true
                _getComments.emit(listOf(result.data!!))
            }

        }
    }

I tried playing with mutablelivedata, mutablestate and mutablestateflow without any success. Am I doing something wrong here.

messagecard composable where I Delete the item

fun MessageCard(
    comment: Comment,
    viewModel: CommentViewModel = hiltViewModel()
) {
    val scope = rememberCoroutineScope()
    val context = LocalContext.current
    Row(modifier = Modifier.padding(all = 8.dp)) {
        Image(
            painter = painterResource(R.drawable.ic_avatar),
            contentDescription = null,
            modifier = Modifier
                .size(40.dp)
                .clip(CircleShape)
                .border(1.5.dp, MaterialTheme.colors.secondaryVariant, CircleShape)
        )
        Spacer(modifier = Modifier.width(8.dp))


        Card(modifier = Modifier
            .fillMaxWidth()
            .wrapContentHeight()) {
            var isExpanded by remember { mutableStateOf(false) }
            var showIconBtns by remember { mutableStateOf(false) }


            val surfaceColor by animateColorAsState(
                if (isExpanded) MaterialTheme.colors.primary else MaterialTheme.colors.surface,
            )

            // We toggle the isExpanded variable when we click on this Column
            Column(modifier = Modifier.clickable () {
                showIconBtns = !showIconBtns
                isExpanded = !isExpanded
            }) {
                Text(
                    text = "test",
                    color = MaterialTheme.colors.secondaryVariant,
                    style = MaterialTheme.typography.subtitle2
                )

                Spacer(modifier = Modifier.height(4.dp))
                    Text(
                        text = comment.content,
                        modifier = Modifier.padding(all = 4.dp),
                        maxLines = if (isExpanded) Int.MAX_VALUE else 1,
                        style = MaterialTheme.typography.body2
                    )

                if (showIconBtns){
                    Row() {
                        IconButton(onClick = { /*TODO*/}) {
                            Icon(
                                Icons.Default.Edit,
                                contentDescription = "edit"
                            )
                        }
                        IconButton(onClick = {
                        /*TODO*/

                           scope.launch {
                                viewModel.deleteComment(comment.id)

                              // if (result is Resource.Success) {
                              //     Toast.makeText(context, "delete comments success!", Toast.LENGTH_SHORT).show()
//
                              // } else if (result is Resource.Error) {
                              //     Toast.makeText(context, "Error: ${result.message}", Toast.LENGTH_SHORT)
                              //         .show()
                              // }
                           }


                        }) {
                            Icon(
                                Icons.Default.Delete,
                                contentDescription = "delete"
                            )
                        }
                    }
                }
            }
            }
        }
        }

And this is how i show a list of comments

  LazyColumn {
                    items(getAllComments.value.size) { index ->
                    MessageCard(getAllComments.value[index])
                    }

                }

Thanks for giving feedback and helping me out. :smile: