小编Dar*_*rTV的帖子

Android 错误:在使用对话框时无法从可绘制资源中找到 ColorStateList

我正在尝试对新的 Android Material 库进行测试,但经过数小时的调查,我不知道如何解决这个问题。

当我尝试打开任何类型的对话框时会发生错误。

这是错误

android.content.res.Resources$NotFoundException:在 android.content.res.ResourcesImpl.loadColorStateList(ResourcesImpl.java:1042) 的 android.content.res.Resources.loadColorStateList(Resources) 中,无法从可绘制资源 ID #0x7f070018 中找到 ColorStateList .java:1041) 在 android.content.res.TypedArray.getColor(TypedArray.java:469) 在 com.android.internal.policy.PhoneWindow.generateLayout(PhoneWindow.java:2436) 在 com.android.internal.policy。 PhoneWindow.installDecor(PhoneWindow.java:2672) at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:410) at com.android.internal.app.AlertController.installContent(AlertController.java:263) at android .app.AlertDialog.onCreate(AlertDialog.java:436) 在 android.app.Dialog.dispatchOnCreate(Dialog.java:407) 在 android.app.Dialog.show(Dialog.java:302)

ID #0x7f070018 的资源解析为 abc_dialog_material_background,它是 appcompat 库的一部分。

这是调用错误的代码

val c = Calendar.getInstance()
        val year = c.get(Calendar.YEAR)
        val month = c.get(Calendar.MONTH)
        val day = c.get(Calendar.DAY_OF_MONTH)

        DatePickerDialog(requireContext(), DatePickerDialog.OnDateSetListener { _, y, m, dayOfMonth ->
            println(y)
            println(m)
            println(dayOfMonth)
        }, year, month, day).show()
Run Code Online (Sandbox Code Playgroud)

这是我的模块 build.gradle 文件

apply plugin: 'com.android.application'
apply plugin: …
Run Code Online (Sandbox Code Playgroud)

android dialog kotlin datepickerdialog material-design

3
推荐指数
1
解决办法
1351
查看次数