Skip to content

java.lang.IndexOutOfBoundsException offset(4) should be less than line limit(0). #3

Description

@zhangwenxiang26

帮忙看下这个异常:
java.lang.IndexOutOfBoundsException
offset(4) should be less than line limit(0)


机型:
系统版本 ROM CPU架构 设备机型

Android 14,level 34 samsung/e2sxxx arm64-v8a SM-S926B
Android 12,level 31 samsung/a53xzh arm64-v8a SM-A5360
Android 15,level 35 samsung/pa3qxxx arm64-v8a SM-S938B
Android 15,level 35 vivo/FUNTOUCH arm64-v8a V2318
Android 13,level 33 samsung/a71xskt arm64-v8a SM-A716S
Android 13,level 33 samsung/a71xskt arm64-v8a SM-A716S
Android 12,level 31 samsung/a31ks arm64-v8a SM-A315N
Android 14,level 34 samsung/b0qxxx arm64-v8a SM-S908E
Android 14,level 34 samsung/dm3qxxx arm64-v8a SM-S918B
Android 12,level 31 samsung/a72qnsxx arm64-v8a SM-A725F


错误日志:

android.text.TextLine.measure(TextLine.java:383)
android.text.Layout.getHorizontal(Layout.java:1222)
android.text.Layout.getHorizontal(Layout.java:1199)
android.text.Layout.getPrimaryHorizontal(Layout.java:1169)
android.text.Layout.getPrimaryHorizontal(Layout.java:1158)
android.widget.Editor$TextActionModeCallback.onGetContentRect(Editor.java:5362)
com.android.internal.policy.DecorView$ActionModeCallback2Wrapper.onGetContentRect(DecorView.java:5233)
com.android.internal.view.FloatingActionMode.invalidateContentRect(FloatingActionMode.java:161)
android.widget.Editor.refreshTextActionMode(Editor.java:2610)
android.widget.TextView.spanChange(TextView.java:12067)
android.widget.TextView$ChangeWatcher.onSpanChanged(TextView.java:15178)
android.text.SpannableStringBuilder.sendSpanChanged(SpannableStringBuilder.java:1318)
android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:763)
android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:687)
androidx.emoji2.text.SpannableBuilder.setSpan(Unknown Source:17)
android.text.Selection.setSelection(Selection.java:96)
android.text.Selection.setSelection(Selection.java:78)
android.text.Selection.setSelection(Selection.java:153)
android.widget.EditText.setSelection(EditText.java:154)
com.king.view.splitedittext.SplitEditText.onSelectionChanged(Unknown Source:21)
android.widget.TextView.spanChange(TextView.java:12074)
android.widget.TextView$ChangeWatcher.onSpanAdded(TextView.java:15185)
android.text.SpannableStringBuilder.sendSpanAdded(SpannableStringBuilder.java:1298)
android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:788)
android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:687)
androidx.emoji2.text.SpannableBuilder.setSpan(Unknown Source:17)
android.text.Selection.setSelection(Selection.java:96)
android.text.Selection.setSelection(Selection.java:78)
android.text.Selection.setSelection(Selection.java:153)
android.text.method.ArrowKeyMovementMethod.initialize(ArrowKeyMovementMethod.java:325)
android.widget.TextView.setText(TextView.java:6964)
android.widget.TextView.setText(TextView.java:6794)
android.widget.EditText.setText(EditText.java:140)
android.widget.TextView.setText(TextView.java:6746)
android.widget.TextViewOnReceiveContentListener.onReceiveForAutofill(TextViewOnReceiveContentListener.java:153)
android.widget.TextViewOnReceiveContentListener.onReceiveContent(TextViewOnReceiveContentListener.java:82)
android.widget.TextView.onReceiveContent(TextView.java:15235)
android.view.View.performReceiveContent(View.java:9498)
android.widget.TextView.autofill(TextView.java:13171)
android.view.autofill.AutofillManager.autofill(AutofillManager.java:2366)
android.view.autofill.AutofillManager.access$2700(AutofillManager.java:176)
android.view.autofill.AutofillManager$AutofillManagerClient.lambda$autofill$1(AutofillManager.java:3489)
android.view.autofill.AutofillManager$AutofillManagerClient$$ExternalSyntheticLambda9.run(Unknown Source:10)
android.os.Handler.handleCallback(Handler.java:938)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loopOnce(Looper.java:226)
android.os.Looper.loop(Looper.java:313)
android.app.ActivityThread.main(ActivityThread.java:8633)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1133)


根据错误日志:
com.king.view.splitedittext.SplitEditText.onSelectionChanged(Unknown Source:21)
推测可能是如下代码导致:
@OverRide
protected void onSelectionChanged(int selStart, int selEnd) {
super.onSelectionChanged(selStart, selEnd);
if (selStart == selEnd) {
setSelection(getText() == null ? 0 : getText().length());
}
}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions