Как предотвратить вызов онклека несколько раз?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как предотвратить вызов онклека несколько раз?

Сообщение Anonymous »

При тестировании моего приложения я понял, что если пользователь нажимает на плавучих факторов. В моем случае это привело к тому, что Backstack выпадает несколько раз, так как onpopbackstack обратный обратный вызов до Navhost , где он имеет доступ к методу NavController и выводит метод popbackstack .

Код: Выделить всё

fun AddEditTodoScreen(onPopBackStack: () -> Unit, viewModel: AddEditTodoViewModel = viewModel()) {

var isNavigating by remember{
mutableStateOf(false)
}

LaunchedEffect(key1 = true){
viewModel.uiEvent.collect{event : UiEvent ->
when(event){
is UiEvent.PopBackStack -> onPopBackStack
else -> Unit
}
}
}

Scaffold(floatingActionButton = {
FloatingActionButton(onClick = {
if(!isNavigating){
isNavigating = !isNavigating
onPopBackStack()
}
}) {
Icon(imageVector = Icons.Default.Check, contentDescription = "Check")
}
В настоящее время я просто настраиваю Isnavigating на true, когда FloatingActionButton сначала нажимается и, если нажимается снова, он проверяет, будет ли флаг Isnavigating на True, если это так, он ничего не делает. Что было бы лучше, если таковые имеются, обратиться к этому?

Подробнее здесь: https://stackoverflow.com/questions/763 ... iple-times
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»