You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio(Kotlin)中R.string-array资源引用冲突问题求助

解决Android Studio中Kotlin开发的R资源引用冲突问题

问题核心

导入android.R后,系统会优先调用自带的资源类,直接覆盖项目自身生成的R类,导致自定义的R.array.types无法被识别;删除android.R导入后,系统布局资源需要明确指定来源,否则会出现找不到的报错。

具体解决方案

  • 彻底移除import android.R语句:这是冲突的根源,项目默认会使用自身模块生成的R类(通常为com.你的包名.R,Android Studio会自动导入,无需手动编写)。
  • 修改系统资源的引用方式:对于系统自带的布局simple_spinner_dropdown_item,必须加上android.前缀明确指向系统资源类,代码调整如下:
    // 自定义资源直接用自身R类
    val typeAdapter = ArrayAdapter.createFromResource(this, R.array.types, android.R.layout.simple_spinner_dropdown_item)
    // 系统布局需添加android.R前缀
    val cityAdapter = ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, cities)
    
  • 强制重新生成R类:如果调整后仍有报错,执行Build → Clean Project,再执行Build → Rebuild Project,解决资源未同步的问题。

额外注意

  • 不要同时导入android.R和自身项目的R类,日常开发中除非特殊需求,绝对不要导入android.R。
  • 检查arrays.xml是否放在res/values/目录下,且<string-array name="types">的拼写完全正确,无大小写或字符错误。

内容的提问来源于stack exchange,提问作者Nunchakita Chan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 15:53:14