элементы ленивого столбца, созданные с помощью реактивного ранца, не отображаются удаленными только после прокрутки

Не могли бы вы мне помочь?

Я хочу использовать свайп для удаления и пробовал много вещей, но ничего не работает. Лучший способ:

                  items(listactivity.size) { index ->
                val activityItem = listactivity.getOrNull(index)

                if (activityItem != null) {
                    key(activityItem) {

                        val dismissState = rememberDismissState()
                        LaunchedEffect(dismissState.currentValue) {
                            if (dismissState.currentValue == DismissValue.DismissedToStart) {
                                dashboardViewModel.activityForDelete = activityItem
                                println("ACT ITEM " + activityItem.activityType?.activityTypeName)
                                visibleDeleteDialog.value = true
                                dismissState.snapTo(DismissValue.Default)
                            }
                        }

                        if (visibleDeleteDialog.value) {
                            BaseAlertDialog(
                                onExit = {
                                    visibleDeleteDialog.value = false
                                },
                                onSuccess = {
                                    removeActivity()
                                    visibleDeleteDialog.value = false
                                },
                                disclaimerFirst = R.string.confirm_delete_activity,
                                disclaimerSecond = R.string.confirm_delete_activity_text,
                                successName = R.string.delete_session
                            )
                        }

                        SwipeToDismiss(
                            state = dismissState,
                            directions = setOf(DismissDirection.EndToStart),
                            background = {
                                val direction =
                                    dismissState.dismissDirection ?: return@SwipeToDismiss

                                val alignment = when (direction) {
                                    DismissDirection.StartToEnd -> Alignment.CenterStart
                                    DismissDirection.EndToStart -> CenterEnd
                                }

                                Box(
                                    modifier = Modifier
                                        .fillMaxSize()
                                        .background(Black)
                                        .padding(horizontal = Spacing_12),
                                    contentAlignment = alignment
                                ) {
                                    Text(
                                        text = stringResource(id = R.string.delete),
                                        color = Color.Red,
                                        fontSize = Text_16,
                                        fontWeight = FontWeight.Bold
                                    )
                                }
                            },
                            dismissContent = {
                                GameCard(activityItem)
                            }
                        )

                    }
                }

            }

Однако список не обновляет элементы после удаления сразу (только после прокрутки я вижу, какой элемент был удален).

Что я делаю не так?

Я пробовал SwipeToDismiss и другие интернет-вещи.

0 ответов

Другие вопросы по тегам