Ошибка ArrayIndexOutOfBoundsException при работе с DropdownMenu
У меня есть в коде dropDownMenu и при выборе опции почему то вылетает, код:
Box(){
Text(text = selectedOption, color = Colors().TextWhite, fontSize = 14.sp)
DropdownMenu(expanded = expanded, onDismissRequest = { expanded = false }) {
var i = 0
repeat(values.size)
{
DropdownMenuItem(onClick = {
selectedOption = values[i]
expanded = false
}) {
Text(
values[i], fontSize = 18.sp, modifier = Modifier
.padding(10.dp)
)
}
I++}
}
}
Но что забавно, если поменять selectedOption = values[i]
на, например selectedOption = values[0]
или selectedOption = "Что-нибудь"
Box(){
Text(text = selectedOption, color = Colors().TextWhite, fontSize = 14.sp)
DropdownMenu(expanded = expanded, onDismissRequest = { expanded = false }) {
var i = -1
repeat(values.size)
{
i += 1
DropdownMenuItem(onClick = {
selectedOption = i.toString()
expanded = false
}) {
Text(
i.toString(), fontSize = 18.sp, modifier = Modifier
.padding(10.dp)
)
}
}
}
}
а при таком коде, в обе опции он записывает последнее значение.
Источник: Stack Overflow на русском