2010-02-06 3 views
3

Mes utilisateurs envoient des exceptions non gérées à moi, je suis par http://code.google.com/p/android-remote-stacktrace/java.lang.IndexOutOfBoundsException: getChars (7 ... 0) a la fin avant de commencer

recevais les éléments suivants, mais ont aucune idée de ce que cela signifie.

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) 

Répondre

3

Il est un bug connu dans le cadre Android. Voici un lien vers the issue.

+0

Il est cependant seulement un problème sur le droïde, ce bug se produit sur l'habitude de tout autre téléphone. – pgsandstrom

+1

Y at-il de toute façon que je peux attraper cette erreur en utilisant un bloc try catch ou quelque chose? – jax

+0

Si la plage est plus proche de (354 .. 351), il pourrait s'agir de ce problème: https://code.google.com/p/android/issues/detail?id=61629 – andygeers

0

Pour ceux qui sont encore aux prises avec ce problème, en plaçant le code suivant dans onResume de votre activité va résoudre:

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

Cela ne semble pas fonctionner moi, je suis toujours à la recherche d'une solution de contournement – andygeers

1

si android couldnt définir la sélection que vous le faites en utilisant la position du curseur ... i résolu le problème en mettant cela exactement avant la ligne de plantage

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

Je l'ai fixé avec un textEntry personnalisé. Changé onSelectionChanged et y mettre le code de loopj!

Mon code:

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