Android 材料芯片输入小部件只能与Theme.AppCompat一起使用

Android 材料芯片输入小部件只能与Theme.AppCompat一起使用,android,kotlin,android-theme,material-components-android,android-chips,Android,Kotlin,Android Theme,Material Components Android,Android Chips,在使用AutoCompleteEditText和芯片组创建布局后,我尝试在Android应用程序中进行芯片输入,我正在向其中添加动态创建的芯片。stacktrace中出现以下错误: E/ThemeUtils:View class com.google.android.material.chip.chip是一个 只能与主题一起使用的AppCompat小部件。AppCompat主题 (或后代) 此组件上的样式要求应用程序主题为 Theme.MaterialComponents(或后代) 问题是,我的

在使用AutoCompleteEditText和芯片组创建布局后,我尝试在Android应用程序中进行芯片输入,我正在向其中添加动态创建的芯片。stacktrace中出现以下错误:

E/ThemeUtils:View class com.google.android.material.chip.chip是一个 只能与主题一起使用的AppCompat小部件。AppCompat主题 (或后代)

此组件上的样式要求应用程序主题为 Theme.MaterialComponents(或后代)

问题是,我的主题尚未设置为Material,但我仍然会遇到这个错误,我甚至尝试通过编程方式将主题设置为芯片,但仍然存在这个错误

下面是我以编程方式添加芯片的代码

private fun addChipToGroup(person: String, chipGroup: ChipGroup) {
    val chip = Chip(applicationContext)
    chip.text = person
    chip.isCloseIconVisible = true

    // necessary to get single selection working
    chip.isClickable = true
    chip.isCheckable = false
    chipGroup.addView(chip as View)
    chip.setOnCloseIconClickListener { chipGroup.removeView(chip as View) }
}
而应用程序在该方法的第一行崩溃

您的问题是:

val chip = Chip(applicationContext)
应用程序上下文没有你的应用程序主题。

您必须使用主题上下文,如
活动

用this@ActivityName现在这就行了