2010-10-13 7 views
0

Je reçois des rapports de plantage de mon application sur le marché en jetant un IndexOutOfBoundsException en dehors de mon code avec la trace de la pile suivante:Android IndexOutOfBoundsException

java.lang.IndexOutOfBoundsException: charAt: -2 < 0 
1. android.text.SpannableStringBuilder.charAt(SpannableStringBuilder.java:110) 
2. android.text.TextUtils.getCapsMode(TextUtils.java:1573) 
3. android.view.inputmethod.BaseInputConnection.getCursorCapsMode(BaseInputConnection.java:273) 
4. com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:202) 
5. com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:57) 
6. android.os.Handler.dispatchMessage(Handler.java:99) 
7. android.os.Looper.loop(Looper.java:123) 
8. android.app.ActivityThread.main(ActivityThread.java:4595) 
9. java.lang.reflect.Method.invokeNative(Native Method) 
10. java.lang.reflect.Method.invoke(Method.java:521) 
11. com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 
12. com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
13. dalvik.system.NativeStart.main(Native Method) 

On dirait que quelqu'un a signalé à Google pour ce numéro: http://code.google.com/p/android/issues/detail?id=6040

comme il n'y a pas eu de réponse de Google à ce que je me demande si quelqu'un ici a rencontré ce, et plus important encore, trouvé une solution de contournement puisque je ne peux pas reproduire moi-même et je suis à une perte sur la façon pour le déboguer.

J'apprécie n'importe quel aperçu que n'importe qui peut offrir.

+0

Pouvez-vous fournir un contexte/code sur la façon dont vous utilisez SpannableStringBuilder? – Brian

+0

Je ne peux pas car je n'utilise pas cette classe dans mon code directement. J'ai seulement une zone de texte d'entrée dans l'application et il est défini comme EditTextPreference dans un fichier XML. Cela semble fonctionner correctement sur la plupart des appareils, mais je reçois ce rapport d'erreur de temps en temps et j'aimerais aller au fond des choses. – afonseca

Répondre

0

J'ai été capable de corriger cette erreur en examinant les attributs TextView dans mon fichier xml. En supprimant un attribut déprécié (android: capitalize = "phrases"), l'erreur disparaît. Cependant, quand je l'ai ajouté, l'erreur ne réapparaît pas. De toute façon, je recommanderais à quiconque ayant ce problème d'examiner les TextViews pour les attributs dépréciés et de les supprimer si possible.