【发布时间】:2019-07-13 17:18:48
【问题描述】:
无法跟踪项目中的崩溃,我在 Play 商店预发布部分收到此错误,它显示在点击 EditText 时,它收到了错误。但在真实设备上没有崩溃。
问题:java.lang.IndexOutOfBoundsException:setSpan (4 ... 4) 结束长度超过 0
Fatal Exception: java.lang.IndexOutOfBoundsException: setSpan (4 ... 4) ends beyond length 0
at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1096)
at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:671)
at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:664)
at android.text.Selection.setSelection(Selection.java:76)
at android.text.Selection.setSelection(Selection.java:87)
at android.widget.EditText.setSelection(EditText.java:98)
at android.widget.EditText.performAccessibilityActionInternal(EditText.java:138)
at android.view.View.performAccessibilityAction(View.java:8892)
at android.view.AccessibilityInteractionController.performAccessibilityActionUiThread(AccessibilityInteractionController.java:668)
at android.view.AccessibilityInteractionController.-wrap6(AccessibilityInteractionController.java)
at android.view.AccessibilityInteractionController$PrivateHandler.handleMessage(AccessibilityInteractionController.java:1194)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5459)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
【问题讨论】:
-
*setSpan (4 ... 4) ends beyond length 0 在调用 setSpan 方法之前检查文本长度。
-
我没有使用setSpan方法,只使用edittext的方法是""" editText.isFocused(); editText.requestFocus(); editText.setText(""); """
-
我的一个应用程序中确实存在这个问题,已经好几个月了。仅显示在发布前报告中,从不显示在生产中。而且我也不使用 setSpan。
-
这里也一样。对我来说,这也是由
performAccessibilityAction引起的。对我来说,这看起来像是 SDK 中的错误 -
我看到了完全相同的问题,只是它发生在运行 Android 6.0.1 的(真正的)根设备上。它从未被修复过。
标签: android android-edittext indexoutofboundsexception