-
Notifications
You must be signed in to change notification settings - Fork 15
Description
帮忙看下这个异常:
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());
}
}