使用com.github.hakobast:dropdown-textview:0.3.1时遇AAPT资源错误,寻求兼容完整功能的解决方案
解决DropdownTextView 0.3.1版本中
attr/title_text缺失的问题 我来分享几个靠谱的解决方案,帮你不用降级到0.1.1版本就能搞定这个资源缺失的问题:
方案一:手动添加缺失的属性定义
这个错误的核心是AAPT找不到title_text这个自定义属性,我们可以直接在自己项目里补上它:
- 打开项目的
res/values/attrs.xml文件(如果没有就新建一个) - 添加以下代码,把库可能用到的关键属性都声明一遍:
<declare-styleable name="DropdownTextView"> <attr name="title_text" format="string"/> <attr name="subtitle_text" format="string"/> <attr name="expand_icon" format="reference"/> <attr name="collapse_icon" format="reference"/> <attr name="title_text_size" format="dimension"/> <attr name="subtitle_text_size" format="dimension"/> </declare-styleable>
这样编译时AAPT就能找到对应的属性,不会再报错。
方案二:清理项目缓存并重新同步
有时候Android Studio的缓存会导致资源引用异常,试试这些操作:
- 点击顶部菜单栏的
File > Invalidate Caches... > Invalidate and Restart,重启IDE - 执行
Build > Clean Project,然后再Build > Rebuild Project - 确认项目根目录的
build.gradle里已经添加了JitPack仓库(这个库托管在JitPack上):
repositories { mavenCentral() maven { url 'https://jitpack.io' } }
方案三:直接集成库的源码
如果上面的方法都不行,说明0.3.1版本的打包可能存在遗漏,直接把源码集成到项目里更稳妥:
- 去该库的仓库下载对应0.3.1版本的源码
- 把库中的
dropdown-textview模块复制到自己的项目根目录 - 在项目的
settings.gradle里添加include ':dropdown-textview' - 在app模块的
build.gradle里把依赖改成:
implementation project(':dropdown-textview')
这样你可以直接查看源码里的资源定义,确保所有属性都正确存在,还能根据自己的需求做小修改。
如果这些方案都没解决问题,你可以在对应的问题讨论下留言,问问其他遇到同样问题的用户有没有临时补丁,或者看看库的维护者有没有后续修复计划。
内容的提问来源于stack exchange,提问作者BinaryMan
相关产品推荐
相关产品推荐

