Android Studio添加preference依赖后XML无法识别Preference相关类如何解决
问题解决方案
1. 调整Preference布局存放路径
Preference相关的XML文件不能存放在常规的res/layout/目录下,必须放到res/xml/目录下才能被框架正确识别。如果你的布局文件当前放在layout目录下,只需在res目录下新建xml子目录,把Preference布局移入该目录即可。
2. 使用全限定类名作为标签
如果调整路径后IDE依旧无法识别标签,可直接在XML中写preference库类的完整包路径,示例代码如下:
<androidx.preference.PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto"> <androidx.preference.SwitchPreferenceCompat app:key="notifications" app:title="Enable message notifications"/> <androidx.preference.Preference app:key="feedback" app:title="Send feedback" app:summary="Report technical issues or suggest new features"/> </androidx.preference.PreferenceScreen>
3. 清理IDE索引缓存
./gradlew clean仅清理项目构建缓存,Android Studio的索引缓存未更新时也会出现代码可识别、XML无法识别的异常,操作步骤:
- 点击顶部菜单栏
File > Invalidate Caches... - 勾选
Clear file system cache and local history - 点击
Invalidate and Restart等待IDE重启重建索引即可
4. 核对依赖添加位置
确认preference相关依赖是添加到模块级build.gradle(通常是app模块)的dependencies代码块中,而非项目级build.gradle文件。
内容的提问来源于stack exchange,提问作者Arek Kubiński
相关产品推荐
相关产品推荐

