Resources.NotFoundException на некоторых c старых или младших устройствах - квалификаторы ресурсов не используются - PullRequest
0 голосов
/ 25 мая 2020

Соответствующая часть трассировки стека:

Caused by: android.content.res.Resources$NotFoundException: 
  at android.content.res.Resources.loadColorStateList (Resources.java:3608)
  at android.content.res.TypedArray.getColorStateList (TypedArray.java:343)
  at android.widget.TextView.<init> (TextView.java:1575)

TextView в связанном макете используют только ссылки на атрибуты, которые, как я думал, должны быть доступны во всем, поскольку они используют встроенные ссылки на атрибуты.

android:textAppearance="?android:attr/textAppearanceListItem"
android:textColor="?android:attr/colorAccent"
android:textColor="?android:attr/textColorSecondary"

Для этих TextView s нет других background или стилей. Стиль моей деятельности расширен с AppCompat. Все цвета являются явными цветовыми ресурсами, а не StateListDrawables или StateListColors. Они определены в том же файле styles.xml, и для моих стилей нет квалификаторов ресурсов.

    <color name="tinted_button_text_color">#000000</color>
    <color name="prefs_bg">#141829</color>
    <color name="prefs_colorPrimary">#1A237E</color>
    <color name="prefs_colorPrimaryDark">#10154D</color>
    <color name="prefs_colorAccent">#E27929</color>
    <color name="prefs_colorControlActivated">#DD8142</color>
    <color name="prefs_colorControlHighlight">#1A237E</color>

    <style name="PreferencesTheme" parent="Theme.AppCompat">
        <item name="colorPrimary">@color/prefs_colorPrimary</item>
        <item name="colorPrimaryDark">@color/prefs_colorPrimaryDark</item>
        <item name="colorAccent">@color/prefs_colorAccent</item>
        <item name="colorControlActivated">@color/prefs_colorControlActivated</item>
        <item name="android:windowBackground">@color/prefs_bg</item>
        <item name="colorButtonNormal">@color/prefs_colorPrimary</item>
        <item name="colorControlHighlight">@color/prefs_colorControlHighlight</item>
    </style>

Устройства с ошибкой (сообщается через консоль Play):

  • Galaxy S3 (m3)
  • t3-p2
  • 7,85 (astar-y3)
  • Galaxy Tab3 Lite (goyawifi)
  • MeMO Pad 8 ( ME181CX)

Единственное, что я могу понять, это то, что в самом AppCompat не хватает какого-то цветового ресурса для конкретной конфигурации, но я ожидал, что они нашли бы и исправили это длинное go, если бы оно было получилось. Версия приложения с этими ошибками использовала AppComapt 1.0.2.

...