使用ArrayIndexOutOfBoundsException将TextView文本设置为静态文本会发生崩溃(很少)

时间:2019-05-18 18:43:51

标签: android

通过简单地将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-所有这些都是稳定的,大部分都是最新版本。另外,我确保用户不使用自定义rom,因此也不能这样。

1 个答案:

答案 0 :(得分:0)

尝试

{{1}}