My problem was accidentally repeated clicks on LazyVerticalGrid element which is resolved by using:
var enabled by rememberSaveable { mutableStateOf(true) }
and val scope = LocalLifecycleOwner.current.lifecycleScope
.
LazyVerticalGrid(
state = lazyVGState,
cells = GridCells.Fixed(3),
contentPadding = PaddingValues(bottom = 100.dp)
) {
items(groupMap.keys.toList().sorted()) { item ->
Column(
modifier = Modifier.clickable(
enabled = enabled,
) {
enabled = false
navController.currentBackStackEntry?.savedStateHandle?.set(
CITY_WEATHER_LIST,
cityList
)
navController.navigate(Screen.CityForecastScreen.route)
scope.launchWhenStarted {
delay(10)
enabled = true
}
},
) {
// some elements
}
}
}
If i don't use enabled state, user may open an element for couple times. Looking for community opinion. THX.