Просто устанавливая текст TextViews
в строку, определенную в коде (которая никогда не может быть null
), я иногда получаю ArrayIndexOutOfBoundsException
, это происходит только в моем живом приложении, у меня никогда не было этой проблемы ни в одном тесте устройства пока нет ... И кажется, что это происходит только иногда, пользователь говорит мне, что это происходит один раз, и в следующий раз все снова работает. Есть идеи, что может быть причиной здесь? Для меня это похоже, что этот сбой никогда не случится ...
Код
Я делаю следующее:
fun updateFilterInfo(showing: Int, total: Int) {
binding?.tvFilterLvl1?.text = "$showing / $total" // <= THIS line creates the crash
}
Крах
И время от времени (очень редко) я получаю следующее падение:
java.lang.ArrayIndexOutOfBoundsException: length=1; index=1
at android.text.SpannableStringBuilder.getSpansRec(SpannableStringBuilder.java:973)
at android.text.SpannableStringBuilder.getSpans(SpannableStringBuilder.java:866)
at android.text.SpannableStringBuilder.getSpans(SpannableStringBuilder.java:836)
at android.text.SpannableStringBuilder.sendSpanAdded(SpannableStringBuilder.java:1268)
at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:773)
at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:672)
at android.widget.TextView.setText(TextView.java:5981)
at android.widget.TextView.setText(TextView.java:5849)
at android.widget.TextView.setText(TextView.java:5806)
... above line of my code ...
Версии / Фоновая
Я использую android x, новейшие стабильные версии, и у меня есть эта проблема ... Также я использую kotlin 1.3.21
и плагин Gradle 3.3.2
- все это стабильные и в основном самые новые версии. Кроме того, я убедился, что пользователь не использует пользовательское ПЗУ, поэтому и этого быть не может.
XML / Тема
Уязвимое представление очень простое, например:
<TextView
android:id="@+id/tvFilterLvl1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:padding="4dp" />
Никаких пользовательских стилей здесь, никаких пользовательских шрифтов внутри моего проекта (хотя общесистемный пользовательский шрифт никогда не может быть исключен). Моя базовая тема приложения не определяет пользовательский стиль TextView
и расширяет Theme.MaterialComponents.Light.DarkActionBar.Bridge
. Так что ни XML, ни тема не имеют специальной обработки TextView
...