我编写了outlinedTextField,onValueChange中的"it"不适用于标签文本
它无法读取,并且Text也显示错误。
val usernameState = rememberSaveable{ mutableStateOf(TextFieldValue) }
OutlinedTextField(
value = usernameState.value,
onValueChange = { usernameState.value = it },
label = { Text(text = "username")}
)
调用并设置outlinedTextfield时出错:
不能使用提供的参数调用以下任何函数:公共娱乐大纲文本字段(值:文本字段值,值更改时:(文本字段值)-〉单位,修饰符:修改量=...,启用:布尔值=...,只读:布尔值=...,文本样式:文本样式=...,标签:(()-〉单位)?=...,占位符:(()-〉单位)?=...,前导图标:(()-〉单位)?=...,尾随图标:(()-〉单位)?=...,是错误:布尔值=...,可视化转换:可视化转换=...,键盘选项:键盘选项=...,键盘操作:键盘操作=...,单行:布尔值=...,最大行数:Int =...,相互作用来源:可变交互源=...,形状:形状=...,颜色:文本字段颜色=...):在androidx中定义的单元。compose. material公共娱乐OutlinedTextField(值:字符串,值更改时:(字符串)-〉单位,修改量:修改量=...,启用:布尔值=...,只读:布尔值=...,文本样式:文本样式=...,标签:(()-〉单位)?=...,占位符:(()-〉单位)?=...,前导图标:(()-〉单位)?=...,尾随图标:(()-〉单位)?=...,是错误:布尔值=...,可视化转换:可视化转换=...,键盘选项:键盘选项=...,键盘操作:键盘操作=...,单行:布尔值=...,最大行数:Int =...,相互作用来源:可变交互源=...,形状:形状=...,颜色:文本字段颜色=...):在androidx. compose. material中定义的单位
2条答案
按热度按时间bbmckpt71#
您需要提供一个
String
作为一个值,并带有您在其中使用的签名。因此,您传递的value参数应该是unserNameState.value.value
。第一个值用于从MutableState
中提取状态值,第二个值用于从TextFieldValue
中提取String
。此外,你需要初始化TextFieldValue
的构造函数,方法是给它加上圆括号。我建议你用最简单的方法。
考虑学习codelabs以更好地全面了解Compose。
到目前为止你在月球上雕刻了什么?
z9smfwbn2#
您可以使用
remember
作为也可以使用Kotlin委托作为
默认情况下,MutableState没有getter和setter。要使用Kotlin委托,必须导入必要的getter和setter(IDE建议),它们是MutableState的扩展函数