Java.lang.UnsupportedOperationException Android 工作室

Java.lang.UnsupportedOperationException Android Studio

由于几个错误,我的应用程序在启动时一直崩溃。

  1. java.lang.InvocationTargetException
  2. java.lang.UnsupportedOperationException

这是第二个异常的 logcat 错误。

Caused by: java.lang.UnsupportedOperationException: Can't convert to ComplexColor: type=0x1
    at android.content.res.ResourcesImpl.loadComplexColorForCookie(ResourcesImpl.java:1137)
    at android.content.res.ResourcesImpl.loadComplexColorFromName(ResourcesImpl.java:1013)
    at android.content.res.ResourcesImpl.loadColorStateList(ResourcesImpl.java:1092)
    at android.content.res.Resources.loadColorStateList(Resources.java:1062)
    at android.content.res.TypedArray.getColorStateList(TypedArray.java:599)
    at android.widget.TextView.readTextAppearance(TextView.java:3961)
    at android.widget.TextView.<init>(TextView.java:1064)
    at android.widget.TextView.<init>(TextView.java:968)
    at androidx.appcompat.widget.AppCompatTextView.<init>(AppCompatTextView.java:108)
    at androidx.appcompat.widget.AppCompatTextView.<init>(AppCompatTextView.java:103)
    at com.example.moveapplication.utils.MAFTextViewBold.<init>(MAFTextViewBold.kt:8)
        ... 72 more

最后一行说我的错误来自我的 MAFTextViewBold.kt 文件

class MAFTextViewBold (context: Context, attrs: AttributeSet) : AppCompatTextView(context, attrs){
init {
    applyFont()
}

private fun applyFont() {
    val typeface:Typeface =
        Typeface.createFromAsset(context.assets, "Montserrat-Bold.ttf")
    setTypeface(typeface)
}

}

可能导致错误的原因是什么?它之前正在编译,但在我对 Android Studio 进行出厂重置后,我无法 运行 我的应用程序。错误开始显示。

因为它之前可以工作,请检查您的构建等级,确保它是 Java_8 并尝试将您的 kotlin 版本升级到最新版本

原来是使用了无法翻译的复杂颜色带来的异常。 查看异常:

Caused by: java.lang.UnsupportedOperationException: Can't convert to ComplexColor: type=0x1


            

此颜色 android:textColor="@color/aquamarine" 无法像在我的 MAFTextView class 中应用的那样正确转换。即使在普通的 TextView 上,它仍然无法转换。 我将颜色更改为黑色,我的应用再次 运行。 Android 开发总能找到让我惊叹的方法。只是颜色变化会引发两个 exceptions.smh