我有一些代码在 compose 函数中,它返回一个“PscEntity”,它需要(你可以注意到)一个代码(字符串类型)和钱(双类型),我试图让函数返回一个新的PscEntity 的实例(因为此函数将用于更新这些实体的实例)但由于以下原因它不起作用:并且添加“@Button”不允许我返回“PscEntity”
Row() {
Button(onClick = {
return PscEntity(code = newCode.value, money = newMoney.value)
})
{
Text("Apply changes")
}
Button(onClick = {
return PscEntity(code = code, money = money)
})
{
Text("Disregard changes")
}
我想添加一个可以更改的变量,然后使用 if 语句检查值,但这似乎不是解决问题的好方法,
任何帮助将不胜感激
谢谢 :)
编辑:
这个函数是从“.callable { }”调用的
Card(
modifier = Modifier
.fillMaxWidth()
.shadow(40.dp)
.clickable {
showAlertDialog("11111", 12.32)
}
)
@Composable
fun showAlertDialog(code: String, money: Double): PscEntity {
var newCode by remember { mutableStateOf(code) }
var newMoney by remember { mutableStateOf(money) }
Box(contentAlignment = Alignment.Center) {
Column() {
TextField(value = newCode, onValueChange = {
newCode = it
})
TextField(value = newMoney.toString(), onValueChange = {
newMoney = it.toDouble()
})
Row()
{
Button(onClick = {
return PscEntity(code = newCode, money = newMoney)
})
{
Text("Apply changes")
}
Button(onClick = {
return PscEntity(code = code, money = money)
})
{
Text("Disregard changes")
}
}
}
}
}