gpt4 book ai didi

android - 在 Jetpack Compose 中立即启用和聚焦 Textfield

转载 作者:行者123 更新时间:2023-12-05 00:13:02 26 4
gpt4 key购买 nike

我正在尝试在 Jetpack Compose 中实现一个具有以下功能的 TextField:起初它是禁用的,但是当用户按下 Button 时,它会被启用并同时获得焦点。这是我的方法:

var text by remember { mutableStateOf("text") }
var enabled by remember { mutableStateOf(false)}
val focusRequester = remember { FocusRequester() }

Column {
TextField(
value = text,
onValueChange = { text = it },
enabled = enabled,
modifier = Modifier.focusRequester(focusRequester),
textStyle = TextStyle(fontSize = 24.sp)
)
Button(onClick = {
enabled = true
focusRequester.requestFocus()
}) {
Text("Enable and request focus")
}

但是当按下按钮时,TextField 只会被启用,不会获得焦点。要聚焦它,用户必须再次单击它。我做错了什么,可能的解决方法是什么?

enter image description here

最佳答案

您必须监听 enabled 参数的变化才能将焦点放在 TextField 上。

您可以将代码更改为:

    Button(onClick = {
enabled = true

}) {
Text("Enable and request focus")
}

LaunchedEffect(enabled) {
if (enabled){
focusRequester.requestFocus()
}
}

关于android - 在 Jetpack Compose 中立即启用和聚焦 Textfield,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70654829/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com