Попытка показать AlertDialog с помощью Jetpack Compose, но приложение аварийно завершает работу при вызове функции AlertDialog с ошибкой
java .lang.IllegalStateException: для композиции требуется активный контекст композиции
Пожалуйста, найдите код ниже,
@Composable
fun homeScreenCompose() {
Align(
alignment = Alignment.Center
) {
Column(
arrangement = Arrangement.Center,
modifier = Spacing(16.dp),
children = {
Button(
modifier = Height(50.dp) wraps Expanded,
text = "Alert Dialog", onClick = {
showAlertDialog()
}, style = OutlinedButtonStyle(
Border(color = Color.Red, width = 1.dp),
shape = RoundedCornerShape(50), //50% percent
contentColor = Color.Red,
color = Color.White,
elevation = Dp(4f)
)
)
}
)
}
}
@Composable
fun showAlertDialog() {
val openDialog = +state { true }
if (openDialog.value) {
AlertDialog(
onCloseRequest = {
},
title = {
Text(text = "Logout")
},
text = {
Text("Are you sure you have to logout?")
},
confirmButton = {
Button("Yes", onClick = {
openDialog.value = false
})
},
dismissButton = {
Button("No", onClick = {
openDialog.value = false
})
},
buttonLayout = AlertDialogButtonLayout.Stacked
)
}
}
Не в состоянии выяснить, почему происходит сбой и какое решение для этого, любая помощь будет оценена.
Спасибо вы.