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

Android开发出现Unresolved reference: userRecyclerView报错如何解决

报错原因

该问题是由于项目未配置「通过布局ID直接引用控件」的对应能力导致:你看到的旧教程使用的是已废弃的Kotlin Android Extensions(合成视图绑定)功能,新版Android Studio默认不开启该功能,因此无法直接将布局ID作为控件实例调用。

解决方案

方案1:使用View Binding(官方推荐)

这是谷歌官方推出的替代Kotlin合成视图绑定的方案,为空安全、类型安全,不会出现ID不匹配的运行时异常:

  1. 打开模块级build.gradle文件(对应Groovy语法),在android配置块内开启ViewBinding:
android {
    // 其余配置保持不变
    buildFeatures {
        viewBinding true
    }
}

如果使用Kotlin Script(build.gradle.kts),对应语法为:

android {
    buildFeatures {
        viewBinding = true
    }
}
  1. 同步Gradle配置后,在Activity中初始化绑定类,假设你的布局文件名为activity_main.xml,则系统会自动生成名为ActivityMainBinding的绑定类:
private lateinit var binding: ActivityMainBinding

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    binding = ActivityMainBinding.inflate(layoutInflater)
    setContentView(binding.root)
    
    // 所有控件都通过binding实例调用,布局ID自动转为小驼峰
    binding.userRecyclerView.layoutManager = LinearLayoutManager(this, LinearLayout.VERTICAL, false)
}

方案2:使用findViewById(通用兼容)

如果不想修改Gradle配置,可以直接通过该方法手动获取控件实例,setContentView执行完成后调用即可:

val userRecyclerView = findViewById<RecyclerView>(R.id.userRecyclerView)
userRecyclerView.layoutManager = LinearLayoutManager(this, LinearLayout.VERTICAL, false)

方案3:(不推荐)开启已废弃的Kotlin合成视图绑定

如果要完全对齐教程的写法,可以临时开启已被官方废弃的Kotlin Android Extensions插件,仅适配低版本开发环境,高版本Kotlin/Android Studio可能已不支持:

  1. 在模块级build.gradle的plugins块添加对应插件:
plugins {
    // 其余插件保持不变
    id 'kotlin-android-extensions'
}
  1. 同步Gradle后,导入布局对应的合成包,即可直接通过ID调用控件。

内容的提问来源于stack exchange,提问作者SAOWEI SAO

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 23:06:08