<android.support.v7.widget.CardView
android:id="@+id/card_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/card_outer_padding"
android:layout_marginTop="@dimen/card_outer_padding"
android:layout_marginRight="@dimen/card_outer_padding"
android:layout_marginBottom='@{model.cardBottomMargin}'
android:foreground="?attr/selectableItemBackground"
android:onClick="@{model::onCardClick}"
app:cardElevation="2dp"
app:cardCornerRadius="2dp"
app:cardUseCompatPadding="true">
</android.support.v7.widget.CardView>
我收到此错误消息
无法解析符号?attr/selectableItemBackground
验证Android XML文件中的资源引用。
<TextView
android:id="@+id/country_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="40dp"
android:text="@{model.name}"
style="@style/TextAppearance.AppCompat.Headline"
tools:text="Country"/>
而且,我也遇到了类似的错误
无法解析符号'@ style / TextAppearance.AppCompat.Headline'
验证Android XML文件中的资源引用。
任何指针都会很棒!谢谢! 它似乎与此thread有关,但未提供解决方案:
答案 0 :(得分:142)
我认为这是IDE和Android Gradle插件的通信问题。在任何情况下,我可靠找到解决的唯一方法是删除.idea/libraries/
文件夹中的有问题的库
所以,对你来说,因为lint检查没有识别?attr/selectableItemBackground
Gradle__com_android_support_xxx.xml
个文件我尝试了其他建议的解决方案 - 在我的模块build.gradle文件中有appcompat-v7
依赖关系。 google()
存储库作为项目build.gradle依赖项的第一行。纳达。
这些解决方案也没有帮助...
答案 1 :(得分:44)
对于版本Lollipop
及更高版本,请使用此选项:
android:foreground="?android:attr/selectableItemBackground"
Pre-Lollipop
使用此:
android:foreground="?attr/selectableItemBackground"
答案 2 :(得分:9)
2个选项:
另一个可能的原因是:未设置Google的maven存储库 构建脚本。
打开项目的主build.gradle添加以下行:
buildscript { repositories { google() <-- this // Be also sure that google() is before jcenter() } }
如果没有此功能,可能无法下载Android Studio Gradle 插件3.0+。它不是在jCenter中分发,而是在Google的maven中分发 库中。
在项目和重新同步项目的根目录中运行此命令
rm .idea/libraries/Gradle__com_android_support_*.xml
del .idea\libraries\Gradle__com_android_support_*.xml
答案 3 :(得分:4)
更新Kotlin后我遇到了同样的错误。解决了“无效缓存/重新启动”
<强>更新强> 今天这个解决方案没有帮助我。但是这个问题的解决方案是:Android Studio 3.1 Cannot Resolve Symbol (Themes, Widget, attr, etc.)
答案 4 :(得分:3)
这两个资源都是使用Android支持库定义的,由于这些符号无法解析,因此您似乎缺少定义支持依赖项。
dependencies {
compile "com.android.support:appcompat-v7:$androidSupportVersion"
}
答案 5 :(得分:0)
在我的案例中,帮助将 maven 添加到 buildscripts.repositories 和 allprojects.repositories 中的 build.gradle项目 。它看起来像这样:
lsqnonlin
答案 6 :(得分:0)
我解决了,
答案 7 :(得分:0)
答案 8 :(得分:0)
我将gradle版本更新为4.10.1,并修复并重新导入对其进行了修复。 .idea之前没有库文件夹。
答案 9 :(得分:0)
如果对applicationContext
使用LayoutInflater
,则将其替换为普通context
。它对我有用。