首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >致命异常: java.lang.IllegalArgumentException偏移量(23)超出界限[0,0] JetPack组合OutlinedTextField

致命异常: java.lang.IllegalArgumentException偏移量(23)超出界限[0,0] JetPack组合OutlinedTextField
EN

Stack Overflow用户
提问于 2022-03-14 07:46:47
回答 2查看 838关注 0票数 2

面对一次坠机在喷气背包组成,谁能帮我这个。

代码语言:javascript
复制
Fatal Exception: java.lang.IllegalArgumentException: offset(23) is out of bounds [0, 0]
   at androidx.compose.ui.text.MultiParagraph.requireIndexInRangeInclusiveEnd(MultiParagraph.kt:593)
   at androidx.compose.ui.text.MultiParagraph.getBidiRunDirection(MultiParagraph.kt:406)
   at androidx.compose.ui.text.TextLayoutResult.getBidiRunDirection(TextLayoutResult.kt:353)
   at androidx.compose.foundation.text.CoreTextFieldKt.SelectionToolbarAndHandles(CoreTextField.kt:816)
   at androidx.compose.foundation.text.CoreTextFieldKt.access$SelectionToolbarAndHandles(CoreTextField.kt:1)
   at androidx.compose.foundation.text.CoreTextFieldKt$CoreTextField$4$1$1.invoke(CoreTextField.kt:565)
   at androidx.compose.foundation.text.CoreTextFieldKt$CoreTextField$4$1$1.invoke(CoreTextField.kt:527)
   at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
   at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
   at androidx.compose.runtime.ComposablesKt.ReusableComposeNode(ComposablesKt.java:443)
   at androidx.compose.foundation.text.selection.SimpleLayoutKt.SimpleLayout(SimpleLayout.kt:79)
   at androidx.compose.foundation.text.CoreTextFieldKt$CoreTextField$4$1.invoke(CoreTextField.kt:527)
   at androidx.compose.foundation.text.CoreTextFieldKt$CoreTextField$4$1.invoke(CoreTextField.kt:510)
   at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
   at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
   at androidx.compose.material.OutlinedTextFieldKt.IconsWithTextFieldLayout-T2E5_Oc(OutlinedTextField.kt:452)
   at androidx.compose.material.OutlinedTextFieldKt.access$OutlinedTextField$lambda-3(OutlinedTextField.kt:1)
   at androidx.compose.material.OutlinedTextFieldKt$OutlinedTextFieldLayout$1.invoke(OutlinedTextField.kt:350)
   at androidx.compose.material.OutlinedTextFieldKt$OutlinedTextFieldLayout$1.invoke(OutlinedTextField.kt:348)
   at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:116)
   at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
   at androidx.compose.foundation.text.CoreTextFieldKt.CoreTextField(CoreTextField.kt:510)
   at androidx.compose.foundation.text.BasicTextFieldKt.BasicTextField(BasicTextField.kt:262)
   at androidx.compose.material.OutlinedTextFieldKt.OutlinedTextFieldLayout-uBqXD2s(OutlinedTextField.kt:322)
   at androidx.compose.material.TextFieldImplKt$TextFieldImpl$3.invoke-h1eT-Ww(TextFieldImpl.kt:207)
   at androidx.compose.material.TextFieldImplKt$TextFieldImpl$3.invoke(TextFieldImpl.kt:129)
   at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:214)
   at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
   at androidx.compose.material.TextFieldTransitionScope.Transition-DTcfvLk(TextFieldImpl.kt:357)
   at androidx.compose.material.TextFieldImplKt.TextFieldImpl(TextFieldImpl.kt:119)
   at androidx.compose.material.OutlinedTextFieldKt.OutlinedTextField(OutlinedTextField.kt:270)
   at androidx.compose.material.OutlinedTextFieldKt.OutlinedTextField(OutlinedTextField.kt:157)
   at com.zee5.presentation.search.searchrefinement.composable.SearchRefinementScreenKt.TopTextInputView(SearchRefinementScreen.kt:131)
   at com.zee5.presentation.search.searchrefinement.composable.SearchRefinementScreenKt.SearchRefinementScreen(SearchRefinementScreen.kt:74)
   at com.zee5.presentation.search.searchrefinement.fragment.SearchRefinementFragment$onCreateView$1$1.invoke(SearchRefinementFragment.kt:60)
   at com.zee5.presentation.search.searchrefinement.fragment.SearchRefinementFragment$onCreateView$1$1.invoke(SearchRefinementFragment.kt:56)
   at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
   at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
   at androidx.compose.runtime.RecomposeScopeImpl.compose(RecomposeScopeImpl.kt:140)
   at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(Composer.kt:2158)
   at androidx.compose.runtime.ComposerImpl.skipCurrentGroup(Composer.kt:2404)
   at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:2585)
   at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:2571)
   at androidx.compose.runtime.SnapshotStateKt__DerivedStateKt.observeDerivedStateRecalculations(DerivedState.kt:247)
   at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations(SnapshotStateKt.java:1)
   at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:2571)
   at androidx.compose.runtime.ComposerImpl.recompose$runtime_release(Composer.kt:2547)
   at androidx.compose.runtime.CompositionImpl.recompose(Composition.kt:620)
   at androidx.compose.runtime.Recomposer.performRecompose(Recomposer.kt:786)
   at androidx.compose.runtime.Recomposer.access$setCloseCause$p(Recomposer.kt:105)
   at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:456)
   at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:425)
   at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(AndroidUiFrameClock.android.kt:34)
   at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch(AndroidUiDispatcher.android.kt:109)
   at androidx.compose.ui.platform.AndroidUiDispatcher.access$setScheduledFrameDispatch$p(AndroidUiDispatcher.android.kt:41)
   at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(AndroidUiDispatcher.android.kt:69)
   at android.view.Choreographer$CallbackRecord.run(Choreographer.java:947)
   at android.view.Choreographer.doCallbacks(Choreographer.java:761)
   at android.view.Choreographer.doFrame(Choreographer.java:693)
   at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
   at android.os.Handler.handleCallback(Handler.java:873)
   at android.os.Handler.dispatchMessage(Handler.java:99)
   at android.os.Looper.loop(Looper.java:193)
   at android.app.ActivityThread.main(ActivityThread.java:6953)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:590)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
EN

回答 2

Stack Overflow用户

发布于 2022-04-19 05:55:23

这可能不是Firebase的问题,而是显示数据的问题,特别是偏移量映射的问题。你使用某种视觉变换吗?https://developer.android.com/reference/kotlin/androidx/compose/ui/text/input/VisualTransformation

(我宁愿把这个写在评论中,但我现在还不能发表评论)

票数 2
EN

Stack Overflow用户

发布于 2022-07-14 11:02:42

我们通过使用可视化转换编写1.1.1和TextField定期接收这些崩溃日志。问题是在用户长时间按压输入后,从VisualTransformation.None到我们的自定义的视觉转换的动态变化。因为我们在onFocusEvent中更改了这一点,如果是FocusState.isFocused == true,那么竞争条件就会发生在TextField中的某个地方。

我们的解决方案是使用value键在remember语句中更改初始值更改时的视觉转换。

代码语言:javascript
复制
val ourCustomTransformation = remember {
    OurCustomTransformation()
}

var visualTransformation by remember(value) {
    mutableStateOf(
        if (value.isBlank()) {
            VisualTransformation.None
        } else {
            ourCustomTransformation
        }
    )
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71464420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档