Android Jetpack Compose问题记录

842 阅读1分钟

IllegalStateException: LayoutCoordinate operations are only valid when isAttache true

java.lang.IllegalStateException: LayoutCoordinate operations are only valid when isAttached is true
        at androidx.compose.ui.node.NodeCoordinator.localToRoot-MK-Hz9U(NodeCoordinator.kt:881)
        at androidx.compose.foundation.text.TextFieldDelegate$Companion.notifyFocusedRect$foundation_release(TextFieldDelegate.kt:173)
        at androidx.compose.foundation.text.CoreTextFieldKt.notifyFocusedRect(CoreTextField.kt:1077)
        at androidx.compose.foundation.text.CoreTextFieldKt.access$notifyFocusedRect(CoreTextField.kt:1)
        at androidx.compose.foundation.text.CoreTextFieldKt$CoreTextField$5$1$1$2.measure-3p2s80s(CoreTextField.kt:610)
        at androidx.compose.ui.layout.MeasurePolicy.minIntrinsicHeight(MeasurePolicy.kt:125)
        at androidx.compose.ui.node.IntrinsicsPolicy.minIntrinsicHeight(IntrinsicsPolicy.kt:41)
        at androidx.compose.ui.node.InnerNodeCoordinator.minIntrinsicHeight(InnerNodeCoordinator.kt:113)
        at androidx.compose.ui.node.LayoutNodeLayoutDelegate$MeasurePassDelegate.minIntrinsicHeight(LayoutNodeLayoutDelegate.kt:481)
        at androidx.compose.ui.layout.DefaultIntrinsicMeasurable.measure-BRTryo0(Layout.kt:286)
        at androidx.compose.foundation.text.selection.SimpleLayoutKt$SimpleLayout$1.measure-3p2s80s(SimpleLayout.kt:35)
        at androidx.compose.ui.layout.MeasurePolicy.minIntrinsicHeight(MeasurePolicy.kt:125)
        at androidx.compose.ui.node.IntrinsicsPolicy.minIntrinsicHeight(IntrinsicsPolicy.kt:41)
        at androidx.compose.ui.node.InnerNodeCoordinator.minIntrinsicHeight(InnerNodeCoordinator.kt:113)
        at androidx.compose.ui.node.NodeMeasuringIntrinsics$DefaultIntrinsicMeasurable.measure-BRTryo0(LayoutModifierNode.kt:264)
        at androidx.compose.foundation.text.TextFieldSizeKt$textFieldMinSize$1$1.invoke-3p2s80s(TextFieldSize.kt:70)
        at androidx.compose.foundation.text.TextFieldSizeKt$textFieldMinSize$1$1.invoke(TextFieldSize.kt:62)
        at androidx.compose.ui.layout.LayoutModifierImpl.measure-3p2s80s(LayoutModifier.kt:294)
        at androidx.compose.ui.node.NodeMeasuringIntrinsics.minHeight$ui_release(LayoutModifierNode.kt:201)
        at androidx.compose.ui.node.LayoutModifierNode.minIntrinsicHeight(LayoutModifierNode.kt:97)
        at androidx.compose.ui.node.LayoutModifierNodeCoordinator.minIntrinsicHeight(LayoutModifierNodeCoordinator.kt:176)
        at androidx.compose.ui.layout.MeasuringIntrinsics$DefaultIntrinsicMeasurable.measure-BRTryo0(LayoutModifier.kt:214)
        at androidx.compose.foundation.text.HorizontalScrollLayoutModifier.measure-3p2s80s(TextFieldScroll.kt:188)
        at androidx.compose.ui.layout.MeasuringIntrinsics.minHeight$ui_release(LayoutModifier.kt:151)
        at androidx.compose.ui.layout.LayoutModifier.minIntrinsicHeight(LayoutModifier.kt:82)
        at androidx.compose.ui.node.BackwardsCompatNode.minIntrinsicHeight(BackwardsCompatNode.kt:338)
        at androidx.compose.ui.node.LayoutModifierNodeCoordinator.minIntrinsicHeight(LayoutModifierNodeCoordinator.kt:176)
        at androidx.compose.ui.node.NodeMeasuringIntrinsics$DefaultIntrinsicMeasurable.measure-BRTryo0(LayoutModifierNode.kt:264)
        at androidx.compose.ui.graphics.SimpleGraphicsLayerModifier.measure-3p2s80s(GraphicsLayerModifier.kt:635)
        at androidx.compose.ui.node.NodeMeasuringIntrinsics.minHeight$ui_release(LayoutModifierNode.kt:201)
        at androidx.compose.ui.node.LayoutModifierNode.minIntrinsicHeight(LayoutModifierNode.kt:97)
        at androidx.compose.ui.node.LayoutModifierNodeCoordinator.minIntrinsicHeight(LayoutModifierNodeCoordinator.kt:176)
        at androidx.compose.foundation.layout.SizeModifier.minIntrinsicHeight(Size.kt:807)
        at androidx.compose.ui.node.BackwardsCompatNode.minIntrinsicHeight(BackwardsCompatNode.kt:338)
        at androidx.compose.ui.node.LayoutModifierNodeCoordinator.minIntrinsicHeight(LayoutModifierNodeCoordinator.kt:176)
        at androidx.compose.foundation.layout.SizeModifier.minIntrinsicHeight(Size.kt:807)
        at androidx.compose.ui.node.BackwardsCompatNode.minIntrinsicHeight(BackwardsCompatNode.kt:338)

这种情况,为必须有子组件的控件未绑定控件,简单说就是Box、Column、Row(实际可能不是我这边是自定义输入框)里面需要有个控件,但是在条件判断或什么情况下子控件被移除导致里面为空,这时再修改里面的被绑定的数据时就会报错。