Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我得到;类型不匹配。必填项:州<;字符串?>;找到:String";将viewModel.observeAsState()与Jetpack compose一起使用时_Android_Kotlin_Android Jetpack Compose - Fatal编程技术网

Android 我得到;类型不匹配。必填项:州<;字符串?>;找到:String";将viewModel.observeAsState()与Jetpack compose一起使用时

Android 我得到;类型不匹配。必填项:州<;字符串?>;找到:String";将viewModel.observeAsState()与Jetpack compose一起使用时,android,kotlin,android-jetpack-compose,Android,Kotlin,Android Jetpack Compose,我正在创建一个应用程序,它将用户输入文本字段,而不是使用: var textState = remember { mutableStateOf("") } 我选择使用viewModels,比如 var title : State<String?> = addTaskViewModel.title.observeAsState() TextField( modifier = Modifier.fillMaxWidth(), value = title.value

我正在创建一个应用程序,它将用户输入文本字段,而不是使用:

var textState = remember { mutableStateOf("") }
我选择使用viewModels,比如

var title : State<String?> = addTaskViewModel.title.observeAsState()

TextField(
modifier = Modifier.fillMaxWidth(),
value = title.value!!,
onValueChange = { title = it },
shape = textFieldShape,
colors = textFieldColors,
label = {Text("Add a title",)} )
var title:State=addTaskViewModel.title.observeastate()
文本字段(
modifier=modifier.fillMaxWidth(),
值=标题。值!!,
onValueChange={title=it},
shape=textFieldShape,
颜色=文本字段颜色,
标签={Text(“添加标题”)}
我犯了一个错误

类型不匹配。必需:找到的状态:字符串

在TextField小部件上设置
onValueChange={title=it}


如何将
viewModel.observeastate()

比如:

class TaskViewModel : ViewModel() {

    //Just an example
    private var _title = MutableLiveData("")
    var title: LiveData<String> = _title

    fun onTitleChange(newName: String) {
        _title.value = newName
    }
}
我想这是kotlin,但是如果我误认了语言,请更新标签。
val title : State<String> = taskViewModel.title.observeAsState("")
TextField(
        modifier = Modifier.fillMaxWidth(),
        value = title.value,
        onValueChange = { taskViewModel.onTitleChange(it) },
        label = {Text("Add a title")} )
  val title: String by taskViewModel.title.observeAsState("")
  TextField(
        modifier = Modifier.fillMaxWidth(),
        value = title,
        onValueChange = { taskViewModel.onTitleChange(it) },
        label = {Text("Add a title")} )