2014-11-15 17 views
6

Niedawno opublikowałem aktualizację mojej aplikacji na Androida i otrzymałem mnóstwo raportów o awariach z poniższym stosem. Brakuje mi, ponieważ nie ma absolutnie żadnego kodu w stosie, więc nie jestem pewien, jak rozwiązać ten problem. Czy ktoś widział ten błąd? Czy mogę coś zrobić, aby rozwiązać ten problem lub go usunąć?IndexOutOfBoundsException dla setSpan - poza moim kodem aplikacji

java.lang.IndexOutOfBoundsException: setSpan (0 ... 11) ends beyond length 0 
    at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1016) 
    at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:592) 
    at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:588) 
    at android.widget.TextView.setSpan_internal(TextView.java:8610) 
    at android.widget.Editor$SuggestionsPopupWindow.onItemClick(Editor.java:2902) 
    at android.widget.AdapterView.performItemClick(AdapterView.java:298) 
    at android.widget.AbsListView.performItemClick(AbsListView.java:1128) 
    at android.widget.AbsListView$PerformClick.run(AbsListView.java:2812) 
    at android.widget.AbsListView$1.run(AbsListView.java:3571) 
    at android.os.Handler.handleCallback(Handler.java:725) 
    at android.os.Handler.dispatchMessage(Handler.java:92) 
    at android.os.Looper.loop(Looper.java:153) 
    at android.app.ActivityThread.main(ActivityThread.java:5299) 
    at java.lang.reflect.Method.invokeNative(Method.java) 
    at java.lang.reflect.Method.invoke(Method.java:511) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 
    at dalvik.system.NativeStart.main(NativeStart.java) 

Edycja: ze stosu, wygląda na to, że będzie przez ListView -> itemClick -> następnie próbuje zrobić coś z TextView. Mam wiele klikalne listViews z textViews w nich ... Czy istnieje właściwość można ustawić na textViews, aby temu zapobiec?

+0

Czy to na Androida w wersji 4.1 i 4.1.1? W tej wersji Androida jest dość "słynny" błąd z rozpiętościami. Czy używasz żadnych rozpiętości w kodzie z MetricSpan jako super klasa? –

+0

Android 4.2.2 i 4.4.2 do tej pory. W moim kodzie nie używam żadnych zakresów (nie wiem nawet, czym one są). – zedix

+0

Wygląda jak EditText z włączonymi sugestiami. Zobacz ten bardzo podobny problem: https://code.google.com/p/android/issues/detail?id=29508 –

Odpowiedz

3

Myślę, że masz białe spacje w łańcuchu, masz jedenaście białych znaków spacji, ale bez znaku, więc rzeczywista/przycięta długość wynosi zero, spowoduje to błąd w ustawieniu zaznaczenia. możesz sprawdzić myString.trim(). lenght()> 0 przed ustawieniem swojej pozycji wyboru.

+1

działa świetnie! –

Powiązane problemy