我正在使用 jetpack compose 制作我的第一个 Android 应用程序。我正在尝试制作一个文本按钮,每次按下时都会更新其文本,但是虽然它在设备上显示得很好,但它不会更新按钮
@Composable
fun ShotButton(){
var state by remember { mutableStateOf("N") }
TextButton(modifier = Modifier.size(60.dp, height = 70.dp),onClick = {
if(state == "N") state = "Y"
if(state == "Y") state = "R"
if(state == "R") state = "N"
}) {
Text(text = state, fontSize = 60.sp)
}
}
我对按钮和状态变量的声明方式做了很多更改,但文档并没有真正消除我的疑虑
你可以使用
when
:
@Composable
fun ShotButton() {
var state by remember { mutableStateOf("N") }
TextButton(modifier = Modifier.size(60.dp, height = 70.dp), onClick = {
when (state) {
"N" -> state = "Y"
"Y" -> state = "R"
"R" -> state = "N"
}
}) {
Text(text = state, fontSize = 60.sp)
}
}
尝试使用 When 来检查不同的状态条件,如下所示
onClick = {
when(state) {
"N" -> state = "Y"
"Y" -> state = "R"
"R" -> state = "N"
}
}