OutlineTextField,TextField在Jetpack Compose 1.0.0-alpha02中不起作用

问题描述

由于某些原因,CoreTextField可以工作,但是TextField和OutlineTextField不会

作品

@Composable
fun TextFieldDemo(){
    val text = remember { mutableStateOf(TextFieldValue("Text")) }
    CoreTextField(modifier = Modifier.fillMaxWidth(),value = text.value,onValueChange = {text.value = it})
}

不工作

    @Composable
fun TextFieldDemo(){
    val text = remember { mutableStateOf(TextFieldValue("Text")) }
    OutlinedTextField(value = text.value,onValueChange = {text.value = it},label = {Text("Test")})
}

错误:OutlinedTextField不能调用以下函数

根据文档更改

Bug Fixes

androidx.ui.foundation.TextFieldValue and androidx.ui.input.EditorValue are deprecated. TextField,FilledTextField and CoreTextField composables that uses that type is also deprecated. Please use androidx.ui.input.TextFieldValue instead (I4066d,b/155211005)

但是我正在使用它说的(我认为)

编辑

enter image description here

解决方法

您在原始问题中缺少“标签”参数,如图所示。遵循加布里埃莱(Gabriele)的评论使其可行,所以您不应该用答案来改变问题,这很令人困惑。

仅作记录,这是在1.0.0-alpha02中工作的代码:

@Composable
fun TextFieldDemo() {
    val text = remember { mutableStateOf(TextFieldValue("Text")) }
    OutlinedTextField(value = text.value,onValueChange = { text.value = it },label = { Text("Test") })
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...