bug记录:TextView java.lang.IndexOutOfBoundsException: setSpan (-1 ... -1) starts before 0

2018-12-17 13:23:47.995 21217-21217/com.my.app E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.baihe.pie, PID: 21217
    java.lang.IndexOutOfBoundsException: setSpan (-1 ... -1) starts before 0
        at android.text.SpannableStringInternal.checkRange(SpannableStringInternal.java:442)
        at android.text.SpannableStringInternal.setSpan(SpannableStringInternal.java:163)
        at android.text.SpannableStringInternal.setSpan(SpannableStringInternal.java:152)
        at android.text.SpannableString.setSpan(SpannableString.java:46)
        at android.text.Selection.setSelection(Selection.java:76)
        at android.widget.Editor$SelectionModifierCursorController.resetDragAcceleratorState(Editor.java:5790)
        at android.widget.Editor$SelectionModifierCursorController.resetTouchOffsets(Editor.java:5780)
        at android.widget.Editor.onFocusChanged(Editor.java:1269)
        at android.widget.TextView.onFocusChanged(TextView.java:9844)
        at android.view.View.clearFocusInternal(View.java:6834)
        at android.view.View.unFocus(View.java:6867)
        at android.view.ViewGroup.unFocus(ViewGroup.java:1104)
        at android.view.ViewGroup.unFocus(ViewGroup.java:1104)
        at android.view.ViewGroup.requestChildFocus(ViewGroup.java:751)
        at android.support.v7.widget.RecyclerView.requestChildFocus(RecyclerView.java:2614)
        at android.view.ViewGroup.requestChildFocus(ViewGroup.java:757)
        at android.view.ViewGroup.requestChildFocus(ViewGroup.java:757)
        at android.view.View.handleFocusGainInternal(View.java:6661)
        at android.view.View.requestFocusNoSearch(View.java:10935)
        at android.view.View.requestFocus(View.java:10914)
        at android.view.View.requestFocus(View.java:10881)
        at android.view.View.requestFocus(View.java:10823)
        at android.view.View.onTouchEvent(View.java:13133)
        at android.widget.TextView.onTouchEvent(TextView.java:9930)
        at android.view.View.dispatchTouchEvent(View.java:11843)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2981)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2668)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2981)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2668)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2981)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2668)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2981)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2668)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2981)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2668)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2981)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2668)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2981)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2668)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2981)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2668)
        at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:552)
        at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1959)
        at android.app.Activity.dispatchTouchEvent(Activity.java:3526)
        at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:505)
        at android.view.View.dispatchPointerEvent(View.java:12082)
        at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5325)
        at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5109)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4623)
        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4676)
        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4642)
        at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4769)
        at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4650)
        at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4826)
2018-12-17 13:23:47.996 21217-21217/com.my.app E/AndroidRuntime:     at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4623)
        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4676)
        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4642)
        at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4650)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4623)
        at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7222)
        at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7196)
        at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7157)
        at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7379)
        at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:193)
        at android.os.MessageQueue.nativePollOnce(Native Method)
        at android.os.MessageQueue.next(MessageQueue.java:379)
        at android.os.Looper.loop(Looper.java:144)
        at android.app.ActivityThread.main(ActivityThread.java:7383)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:469)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:963)

TextView在 RecyclerView中使用,像对话列表这样的。

当TextView 设置可以滑动选择为true的时候,这个bug可以必先,先选中某些文字,再按住TextView滑动超出TextView边框,这个时候会有选中的文字,但是不会有左右选中的光标出现。再点按其他Textview, 必崩溃,这个是系统的bug,目前没精力去看源码解决这个问题,先记录一下。

猜你喜欢

转载自blog.csdn.net/u010232308/article/details/85048016