【发布时间】:2018-12-05 17:10:44
【问题描述】:
这是一个有趣的错误,我能够始终如一地重现它。我想知道是否有其他人注意到它;我找不到任何关于它的报告。
TextView 小部件有一个名为textAllCaps 的属性,用于强制其中显示的任何文本全部大写。自 API 级别 14(冰淇淋三明治)以来,此属性一直在 Android 中。但是,我最近发现,如果您将应用程序的 Font Family 设置为 sans-serif-condensed,请将其放入 styles.xml:
<item name="android:fontFamily">sans-serif-condensed</item>
然后,当任何具有带有textAllCaps=true 的TextView 的布局被膨胀时,它会崩溃并带有InflateException:
12-05 09:18:48.847 16727 16727 E AndroidRuntime: android.view.InflateException: Binary XML file line #49: Binary XML file line #49: Error inflating class TextView
12-05 09:18:48.847 16727 16727 E AndroidRuntime: Caused by: android.view.InflateException: Binary XML file line #49: Error inflating class TextView
12-05 09:18:48.847 16727 16727 E AndroidRuntime: Caused by: java.lang.ArrayIndexOutOfBoundsException: length=57; index=2491
有人遇到过这种情况吗?
【问题讨论】:
-
你有没有尝试把它放在像这样的字体文件夹中
- @font/sans-serif-condensed
-
编译时出现“找不到资源”错误。
-
重命名字体。直接从 xml android:fontFamily="@font/sans_serif_condensed" 调用。让我知道
标签: android android-layout textview