Reputation: 43
I am trying to delete one column at a time but my lazy column is deleting 2 or 3 columns together. I am trying to implement swipe-to-dismiss in my code. here is my code
LazyColumn {
itemsIndexed(dataList){position, item ->
val dismissState = rememberDismissState()
if (dismissState.isDismissed(direction = DismissDirection.EndToStart)){
model.deleteTodo(dataList[position])
}
SwipeToDismiss(state =dismissState,
modifier = Modifier.padding(vertical = 4.dp),
directions = setOf(DismissDirection.EndToStart),
background = {
val direction = dismissState.dismissDirection ?: return@SwipeToDismiss
val color by animateColorAsState(
when(dismissState.targetValue){
DismissValue.Default -> Color.LightGray
DismissValue.DismissedToStart -> Color.Red
DismissValue.DismissedToEnd -> Color.Green
}
)
Box(Modifier.fillMaxSize().background(color).padding(horizontal = 20.dp),
contentAlignment = Alignment.CenterEnd
){
Icon(
Icons.Default.Delete,
contentDescription = "Localized Description",
modifier = Modifier.scale(0.75f)
)
}
},
dismissContent = {
todoItems( data =item )
}
)
}
}
i have tried
model.deleteTodo(datalist[poisition] or model.deleteTodo(item)
in dismiss content as well and dismiss state as well but the results are not expected
Upvotes: 1
Views: 84