java.lang.IndexOutOfBoundsException:则GetChars(7 ... 0)具有月底前开始

问题描述:

我的用户是通过http://code.google.com/p/android-remote-stacktrace/java.lang.IndexOutOfBoundsException:则GetChars(7 ... 0)具有月底前开始

发送未处理的异常给我,我正在以下,但不知道这意味着什么。

java.lang.IndexOutOfBoundsException: getChars (7 ... 0) has end before start 
    at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:935) 
    at android.text.SpannableStringBuilder.getChars(SpannableStringBuilder.java:847) 
    at android.text.TextUtils.getChars(TextUtils.java:69) 
    at android.text.SpannableStringBuilder.<init>(SpannableStringBuilder.java:59) 
    at android.text.SpannableStringBuilder.subSequence(SpannableStringBuilder.java:839) 
    at android.widget.TextView.extractTextInternal(TextView.java:4541) 
    at android.widget.TextView.reportExtractedText(TextView.java:4580) 
    at android.widget.TextView.finishBatchEdit(TextView.java:4723) 
    at android.widget.TextView.endBatchEdit(TextView.java:4705) 
    at com.android.internal.widget.EditableInputConnection.endBatchEdit(EditableInputConnection.java:54) 
    at android.view.inputmethod.BaseInputConnection.replaceText(BaseInputConnection.java:586) 
    at android.view.inputmethod.BaseInputConnection.commitText(BaseInputConnection.java:174) 
    at com.android.internal.widget.EditableInputConnection.commitText(EditableInputConnection.java:120) 
    at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:231) 
    at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:57) 
    at android.os.Handler.dispatchMessage(Handler.java:99) 
    at android.os.Looper.loop(Looper.java:123) 
    at android.app.ActivityThread.main(ActivityThread.java:4338) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:521) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
    at dalvik.system.NativeStart.main(Native Method) 

这是Android框架中的一个已知错误。这是链接到the issue

+0

然而仅在机器人的一个问题,这个错误不会任何其他手机上出现。 – pgsandstrom 2010-02-06 20:01:54

+1

有无论如何我可以使用try catch块或其他东西来捕获这个错误? – jax 2010-02-07 02:04:22

+0

如果范围更像(354.351),那么可能是这个问题:https://code.google.com/p/android/issues/detail?id=61629 – andygeers 2014-08-13 08:33:10

对于任何仍在这个问题上挣扎,把下面的代码在活动的onResume将解决这个问题:

textEntry.setSelection(textEntry.getText().length(), textEntry.getText().length()); 
+0

这似乎并不适用于我,我仍然在寻找解决方法 – andygeers 2014-08-13 08:31:52

如果机器人想不出设置你这样做,使用光标位置... 我解决了选择通过把这完全放在崩溃线之前

editor.setSelection(editor.getText().length(), editor.getText().length()); 

我用一个自定义的textEntry修复它。 改变onSelectionChanged并把那里的代码从loopj!

我的代码:

@Override 
protected void onSelectionChanged(int selStart, int selEnd) { 
    if (selStart >= 0) { 
     super.onSelectionChanged(selStart, selEnd); 
    } else { 
     setSelection(getText().length()); 
    } 
}