【发布时间】:2021-10-07 17:48:49
【问题描述】:
在动画运行后点击以专注于我的 BasicTextField 时,我收到以下错误。请帮忙。
decorationBox = { innerTextField ->
Box(Modifier.weight(1f)) {
if (addressText.isEmpty()) {
Label3(dynamicId = structure?.placeholder)
}
AnimatedVisibility(
visible = focusAddress
) {
innerTextField()
}
}
},
E/InputConnectionWrapper: InputConnectionWrapper.waitForInputConnectionFutureInternal():1542 获取输入连接调用结果失败。
java.lang.IllegalStateException: LayoutCoordinate 操作仅在 isAttached 为 true 时有效
编辑:
如果文本字段获得、失去并再次获得焦点,则可以复制它。问题是 coreTextField() 不可用。这是一个产生相同错误消息的简短示例:
@Composable
fun TextInput(
modifier: Modifier = Modifier,
value: String,
label: String,
onValueChanged: (text: String) -> Unit,
) {
var textFieldValueState by remember { mutableStateOf(TextFieldValue(text = value)) }
val textFieldValue = textFieldValueState.copy(text = value)
val interactionSource = remember { MutableInteractionSource() }
val isFocused = interactionSource.collectIsFocusedAsState().value
BasicTextField(
value = textFieldValue,
modifier = modifier
.defaultMinSize(
minWidth = TextFieldDefaults.MinWidth,
minHeight = TextFieldDefaults.MinHeight,
),
onValueChange = {
textFieldValueState = it
if (value != it.text) {
onValueChanged(it.text)
}
},
interactionSource = interactionSource,
decorationBox = @Composable { coreTextField ->
Surface(
shape = RoundedCornerShape(),
border = BorderStroke(
width = 2.dp,
color = Colors.Black,
)
) {
Column(
modifier = Modifier
.height(52.dp)
.padding(horizontal = 16.dp, vertical = 8.dp),
horizontalAlignment = Alignment.Start,
verticalArrangement = Arrangement.Center,
) {
Text(text = label)
if (isFocused) coreTextField()
}
}
},
)
}
【问题讨论】:
-
您找到解决方案了吗?在同样的情况下对我来说失败了
-
遗憾的是我没有:(
标签: android kotlin android-animation textfield android-jetpack-compose