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

Android Studio Kotlin项目调用drawable图片报Expected resource of type integer错误

问题解决方法

核心报错原因

该报错是Lint检测到你传入的参数和Affirmation构造函数要求的资源类型不匹配导致的,按以下步骤排查即可:

  • 第一步:检查并修正Affirmation数据类的构造参数定义
    你传入的R.string.xxx和R.drawable.xxx都是Android自动生成的Int类型资源ID,所以你的数据类两个参数都需要声明为Int类型,同时建议添加资源注解避免后续Lint报错,正确示例代码如下:
import androidx.annotation.DrawableRes
import androidx.annotation.StringRes

data class Affirmation(
    @StringRes val affirmationStringId: Int,
    @DrawableRes val affirmationImageId: Int = 0 // 如果你需要支持只传字符串的调用方式,给图片ID加默认值即可
)
  • 第二步:修正注释代码的资源引用写法
    你注释的代码中直接使用string.affirmation2是错误的,必须加上R.前缀,正确写法为R.string.affirmation2。
  • 第三步:清理重建项目(可选)
    如果修改完还是报错,可能是R文件临时生成异常,点击Android Studio顶部菜单栏 Build -> Clean Project 执行清理,再点击 Build -> Rebuild Project 重建即可解决。

内容的提问来源于stack exchange,提问作者Andres Rosales

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 14:06:10