【发布时间】:2021-08-24 07:20:47
【问题描述】:
我有一个可组合函数,它显示 2 个TextFields。这是我的代码:
fun CreateEntryItem() {
var wordA by remember { mutableStateOf("") }
var wordB by remember { mutableStateOf("") }
Column {
Row {
TextField(
value = wordA,
onValueChange = { wordA = it },
enabled = true,
modifier = Modifier.weight(1f)
)
TextField(
value = wordB,
onValueChange = { wordB = it },
enabled = true,
modifier = Modifier.weight(1f)
)
}
}
}
当我将焦点放在 TextField A 上时,我可以输入并且wordA 的值会正确更新。
这是奇怪的行为:
然后我将焦点放在 TextField B。然后我将焦点返回到 TextField A。当我开始输入时,不是 TextField A 在现有文本的光标位置插入/附加字符,而是完全清除现有文本(如设置预对焦),并“重新开始”。也就是说,每个TextField只记住在当前“焦点会话”中输入的文本。
我做错了吗?或者这是 Compose 中的错误?我在1.0.0-beta07 和1.0.0-beta08 上都重现了这种行为。
【问题讨论】:
-
无法在 1.0.0-beta08 上重现我猜需要更多细节
-
这是一个大错误 :)
标签: android android-layout user-interface android-jetpack android-jetpack-compose