Android 带有Kotlin StateFlow的文本字段
我希望将一个TextField绑定到来自视图模型的可变状态流。我是这样设置的:Android 带有Kotlin StateFlow的文本字段,android,kotlin,android-jetpack-compose,kotlin-flow,Android,Kotlin,Android Jetpack Compose,Kotlin Flow,我希望将一个TextField绑定到来自视图模型的可变状态流。我是这样设置的: @Composable fun MyTextField(textFlow: MutableStateFlow<String>) { val state = textFlow.collectAsState(initial = "") TextField( value = TextFieldValue(state.value), onValu
@Composable
fun MyTextField(textFlow: MutableStateFlow<String>) {
val state = textFlow.collectAsState(initial = "")
TextField(
value = TextFieldValue(state.value),
onValueChange = { textFlow.value = it.text },
label = { Text(text = "Label") }
)
}
@Composable
趣味MyTextField(textFlow:MutableStateFlow){
val state=textFlow.collectAsState(初始值=“”)
文本字段(
值=文本字段值(state.value),
onValueChange={textFlow.value=it.text},
label={Text(Text=“label”)}
)
}
当我在文本字段中键入内容时,它的行为非常奇怪。例如,如果我键入'asd',它将以'asdasa'结尾。如何更新
textFlow.value
而不使用文本字段?为什么要从onValueChange
侦听器中更改textFlow
值?@Casablancais我认为需要它才能保持textFlow
更新。是吗?您想要实现的功能到底是什么?@Casablancais我希望能够从视图模型中观察TextField的更改,并使用可变状态流从视图模型中更改TextField内容。