Android 安卓查拉特的奇怪车祸(选举)

Android 安卓查拉特的奇怪车祸(选举),android,selection,indexoutofboundsexception,charat,Android,Selection,Indexoutofboundsexception,Charat,我在应用程序中遇到了一个非常奇怪的崩溃。 堆栈跟踪: java.lang.IndexOutOfBoundsException: charAt: -1 < 0 at android.text.SpannableStringBuilder.charAt(SpannableStringBuilder.java:112) at android.text.Selection.setSelection(Selection.java:84) at android.text.Selection.setSe

我在应用程序中遇到了一个非常奇怪的崩溃。 堆栈跟踪:

java.lang.IndexOutOfBoundsException: charAt: -1 < 0
at android.text.SpannableStringBuilder.charAt(SpannableStringBuilder.java:112)
at android.text.Selection.setSelection(Selection.java:84)
at android.text.Selection.setSelection(Selection.java:127)
at android.widget.Editor$InsertionHandleView.updateSelection(Editor.java:4971)
at android.widget.Editor$HandleView.positionAtCursorOffset(Editor.java:4647)
at android.widget.Editor$HandleView.updatePosition(Editor.java:4675)
at android.widget.Editor$PositionListener.onPreDraw(Editor.java:2714)
at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:711)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2097)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1179)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4859)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
at android.view.Choreographer.doCallbacks(Choreographer.java:562)
at android.view.Choreographer.doFrame(Choreographer.java:532)
at android.view.Choreographer$FrameHandler.handleMessage(Choreographer.java:664)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5328)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
at dalvik.system.NativeStart.main(Native Method)

读第一行。。。它表示
java.lang.IndexOutOfBoundsException:charAt:-1<0
。问题是字符串中没有要搜索的字符。张贴代码。然后我们将看到问题出在哪里…

这似乎是一个操作系统错误,它需要特定操作系统版本(如4.1.2)和特定设备(如Galaxy S3 I9300)的组合。这不是你的问题。不幸的是,我也不知道该怎么解决这个问题


我很好奇你是怎么遇到这个问题的。根据调用堆栈,我猜你点击了一个文本视图,并试图粘贴剪贴板上的文本

你在为charAt(index)传递什么?请给我们看一些CodeIndexOutofBoundsException你能将s.length更改为s.length-1并检查吗?你能看到,堆栈跟踪在我的应用程序包/类上没有任何链接,但应用程序还是崩溃了。嗯,你在哪里使用
SpannableStringBuilder
?@Override public void afterextchanged(可编辑的s){if(!s.toString().isEmpty()){Selection.setSelection(s,s.length());}我遇到了类似的问题。帖子在这里:我在三星设备中也面临同样的问题。有解决办法吗?
@Override
public void afterTextChanged(Editable s) {
    if (!s.toString().isEmpty()) {
        Selection.setSelection(s, s.length());
    }   
}