Android Studio MainActivity.kt 无法引用 main_activity.xml 中的 ID
Android Studio MainActivity.kt can't reference ids in main_activity.xml
我是 Android Studio 的新手。我在main_activity.xml
文件里写了一段简单的代码,用ids
。但是当我尝试从我的 MainActivity.kt
文件中引用 ids
时。它显示错误 Unresolved reference: btnDatePicker
即未解决的错误。
我不知道哪里错了。这是我的 MainActivity.kt
文件的屏幕截图。如您所见,当我尝试调用 id
btnDatePicker 时,它 returns 出错了。
这是我的 activity_main.xml
的屏幕截图,如您所见,我已经圈出了我要参考的特定 id
。
尝试重建项目,构建 -> 重建项目
我们有 2 个变体,我推荐它。我建议您使用 View Binding。因为 Koltin synthetic(只写 id 元素)已被弃用。
要在模块中启用视图绑定,请在模块级别 中将 viewBinding 构建选项设置为 true build.gradle文件,如下例所示:
android {
...
buildFeatures {
viewBinding = true
}
}
用法
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding(layoutInflater)
val view = binding.root
setContentView(view)
}
然后使用您的 xml 元素
binding.btnDataPicker.setOnClickListener {
...
}
不能直接引用Id
一般情况下,可以使用以下代码绑定控件:
val button = findViewById<Button>(R.id.btnDatePicker)
如果你想直接使用id,我想这篇文章可以帮到你
View Binding
只需将其添加到插件 ID 'kotlin-android-extensions'
中的 gradle 文件中
我是 Android Studio 的新手。我在main_activity.xml
文件里写了一段简单的代码,用ids
。但是当我尝试从我的 MainActivity.kt
文件中引用 ids
时。它显示错误 Unresolved reference: btnDatePicker
即未解决的错误。
我不知道哪里错了。这是我的 MainActivity.kt
文件的屏幕截图。如您所见,当我尝试调用 id
btnDatePicker 时,它 returns 出错了。
这是我的 activity_main.xml
的屏幕截图,如您所见,我已经圈出了我要参考的特定 id
。
尝试重建项目,构建 -> 重建项目 我们有 2 个变体,我推荐它。我建议您使用 View Binding。因为 Koltin synthetic(只写 id 元素)已被弃用。
要在模块中启用视图绑定,请在模块级别 中将 viewBinding 构建选项设置为 true build.gradle文件,如下例所示:
android {
...
buildFeatures {
viewBinding = true
}
}
用法
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding(layoutInflater)
val view = binding.root
setContentView(view)
}
然后使用您的 xml 元素
binding.btnDataPicker.setOnClickListener {
...
}
不能直接引用Id
一般情况下,可以使用以下代码绑定控件:
val button = findViewById<Button>(R.id.btnDatePicker)
如果你想直接使用id,我想这篇文章可以帮到你 View Binding
只需将其添加到插件 ID 'kotlin-android-extensions'
中的 gradle 文件中