9
votes

SpannablestringBuilder: IndexOutOfboundSexception SetSpan se termine au-delà de la longueur 0

Je travaille à Android. J'ai un problème. Mon application se bloque lorsque je clique sur ma zone de texte Second Time.

Ceci est mon message LOGCAT: P>

java.lang.IndexOutOfBoundsException: setSpan (4 ... 4) ends beyond length 0
android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:943)
android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:522)
android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:514)
android.text.Selection.setSelection(Selection.java:74)
android.text.Selection.setSelection(Selection.java:85)
android.text.method.ArrowKeyMovementMethod.onTouchEvent(ArrowKeyMovementMethod.java:410)
android.widget.TextView.onTouchEvent(TextView.java:6715)
android.widget.EditText.onTouchEvent(EditText.java:190)
android.view.View.dispatchTouchEvent(View.java:3766)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1731)
com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1120)
android.app.Activity.dispatchTouchEvent(Activity.java:2086)
com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1715)
android.view.ViewRoot.handleMessage(ViewRoot.java:1787)
android.os.Handler.dispatchMessage(Handler.java:99)


3 commentaires

J'ai le même problème, lors de la numérisation de codes à barres lorsque la mise au point est sur editext.


Sans voir de code, nous ne pouvons pas découvrir la solution. C'est un problème de taille que votre logcat dit dans la première rangée. Je ne comprends pas comment vous avez 5 points dans la question et 1 étoile, car cette question n'est pas bien faite et sa même pas claire


Pourriez-vous publier votre mise en page XML avec votre editext?


4 Réponses :


2
votes

La cause de votre problème est l'erreur suivante: java.lang.indexoutofboundsException: SetSpan (4 ... 4) se termine au-delà de la longueur 0

Apparemment, vous définissez une plage sur quelque chose, mais le champ de texte est vide, donnant un indexporofboundsException , vérifiez la longueur de la chaîne d'entrée avant de passer à SetSpan.

EDIT:

Juste une courte clarification, un indexOntOfboundSException signifie toujours que vous essayez d'accéder à une partie d'un tableau qui dépasse la longueur réelle de la matrice. Les objets de chaîne sont définis comme des tableaux de caractères. En tant que tel, lorsque vous essayez de faire quelque chose, mais la longueur de la chaîne est égale à zéro, vous vous retrouvez réellement au-delà de la limite d'un tableau.


1 commentaires

Cela se passe également lorsque l'utilisateur a sélectionné le texte sélectionné des suggestions d'EditText. La propriété de longueur maximale est activée.



2
votes

Vous n'avez pas expliqué de votre code. Donc, il est difficile de passer à travers votre problème.

check Ce blog . Cela peut vous aider. Ce blog indique une question de sélection de temps. Il en va de même pour EditText & TextView également.

SETSAVEFROMPARENTENAd (FALSE) & SETSAVEENADENABENAD (TRUE) doit résoudre le problème. < / p> xxx


0 commentaires

0
votes

Vous pouvez ajouter ci-dessous le code après l'initiation Votre zone de texte (modifier le texte ou etc.) xxx

et pour plus de documentation à ce sujet, vous pouvez lire ci-dessous la documentation:


0 commentaires

2
votes

SetSpan (4 ... 4) se termine au-delà de la longueur 0, cela signifie que vous avez une chaîne de caractères de 4 espaces de 4 blanc sa longueur réelle / gainée est égale à zéro, la sélection de réglage à cet effet provoquera indexOutOfboundsException, vous devez vérifier la longueur de réglage Sélection


0 commentaires