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)
4 Réponses :
La cause de votre problème est l'erreur suivante:
Apparemment, vous définissez une plage sur quelque chose, mais le champ de texte est vide, donnant un EDIT: P>
Juste une courte clarification, un java.lang.indexoutofboundsException: SetSpan (4 ... 4) se termine au-delà de la longueur 0 Code> p>
indexporofboundsException code>, vérifiez la longueur de la chaîne d'entrée avant de passer à SetSpan. P>
indexOntOfboundSException code> 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. P>
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.
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. P>
Vous pouvez ajouter ci-dessous le code après l'initiation Votre zone de texte (modifier le texte ou etc.) et pour plus de documentation à ce sujet, vous pouvez lire ci-dessous la documentation: p>
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 p>
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?