Kotlin开发报Unresolved reference: spinnerCourses错误求助
错误原因
你的项目已启用ViewBinding功能,所有布局控件都需要通过生成的Binding实例访问,你直接使用spinnerCourses调用控件,没有通过你声明的binding对象访问,因此编译器无法识别该引用抛出错误。同时你当前的setContentView写法也不符合ViewBinding的使用规范。
修复方案
- 修改
onCreate方法中初始化布局的代码,替换原来的setContentView(R.layout.activity_main)为ViewBinding的标准初始化逻辑:
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // 新增这行初始化binding binding = ActivityMainBinding.inflate(layoutInflater) // 替换原来的setContentView setContentView(binding.root) // 其余原有逻辑不变 setSupportActionBar(binding.toolbar) val dm = DataManager() val adapterCourses = ArrayAdapter<CourseInfo>(this, android.R.layout.simple_spinner_item, dm.courses.values.toList()) adapterCourses.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) // 修改这行,通过binding访问spinner binding.spinnerCourses.adapter = adapterCourses }
- 确认你布局文件中Spinner控件的
android:id属性值为@+id/spinnerCourses,拼写、大小写完全匹配即可。
内容的提问来源于stack exchange,提问作者Lincoln T.K Munyarari
相关产品推荐
相关产品推荐

