android - Editor.java IndexOutOfBoundsException offset(x) 应该小于 line limit(y)

标签 android android-edittext

嗨,有人知道这个崩溃吗?
仍然困惑如何重现。从 stackTrace 来看,它与电子邮件 EditText 相关。
大多数发生在小米的 Redmi 设备和 100% Android 10 上
全栈跟踪

Editor.java line 3324
Fatal Exception: java.lang.IndexOutOfBoundsException
offset(18) should be less than line limit(17)

    android.text.TextLine.measure (TextLine.java:353)
    android.text.Layout.getHorizontal (Layout.java:1213)
    android.text.Layout.getHorizontal (Layout.java:1190)
    android.text.Layout.getPrimaryHorizontal (Layout.java:1160)
    android.text.Layout.getPrimaryHorizontal (Layout.java:1149)
    android.widget.Editor$ActionPinnedPopupWindow.computeLocalPosition (Editor.java:3324)
    android.widget.Editor$PinnedPopupWindow.show (Editor.java:3628)
    android.widget.Editor$ActionPinnedPopupWindow.show (Editor.java:3471)
    android.widget.Editor$EmailAddPopupWindow.show (Editor.java:4995)
    android.widget.Editor$1.run (Editor.java:1528)
    android.os.Handler.handleCallback (Handler.java:914)
    android.os.Handler.dispatchMessage (Handler.java:100)
    android.os.Looper.loop (Looper.java:225)
    android.app.ActivityThread.main (ActivityThread.java:7563)
    java.lang.reflect.Method.invoke (Method.java)
    com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:539)
    com.android.internal.os.ZygoteInit.main (ZygoteInit.java:994)

最佳答案

offset(X) should be less than line limit(Y)
我在 Android 12+ EditText 中遇到了类似的错误s。出于某种原因,EditText.getText().length() (在上面的错误中称为 Y )与复制粘贴文本的实际长度不匹配(在上面的错误中称为 X )。
我们的解决方法是扩展 EditText然后手动调用setText("", TextView.BufferType.EDITABLE) (在我们的例子中,在 onTextContextMenuItem 中),因为它似乎用实际文本长度更正了预期的文本长度。

关于android - Editor.java IndexOutOfBoundsException offset(x) 应该小于 line limit(y),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71017238/

相关文章:

java - 不幸的是,该应用程序已停止 - LogCat 产生无数错误

javascript - 无法与 Cordova 应用程序中的任何内容进行交互

java - 如何使用 Monkeyrunner API 制作 Java 应用程序?

返回 Activity 后android恢复edittext的状态

android - 无法检索动态创建的 EditText 的值

android - [INSTALL_FAILED_NO_MATCHING_ABIS : Failed to extract native libraries, res=-113]

JavaPoet + Android Studio "addModifiers(Modifier) cannot be applied to Modifier"

android - 单击 ClickableSpan 后如何禁用打开键盘

Android:EditText 没有被椭圆化

android - 附加到 EditText 的适配器的动态数据