Android Studio无法引用main_activity. xml中的ID

5t7ly7z5  于 2022-11-16  发布在  Android
关注(0)|答案(4)|浏览(333)

我是Android Studio的新手。我在main_activity.xml文件中写了一个简单的代码,使用ids。但是当我尝试从我的MainActivity.kt文件中引用ids时,它显示了一个错误Unresolved reference: btnDatePicker,即一个未解决的错误。
我不知道哪里出了问题。这是我的MainActivity.kt文件的屏幕截图。正如您所看到的,当我试图调用id btnDatePicker时,它返回了一个错误。

这是我的activity_main.xml的屏幕截图,你会看到我已经圈出了我试图引用的特定id

xqkwcwgp

xqkwcwgp1#

不能直接引用ID
在一般情况下,您可以使用下列程式码系结控件:

val button = findViewById<Button>(R.id.btnDatePicker)

如果您希望直接使用id,我认为本文可以帮助您

ve7v8dk2

ve7v8dk22#

只是尝试重建项目,Build -〉重建项目我们有 *2个变量 *,我推荐它。我推荐你使用View Binding。因为Koltin synthetic(只写id元素)被弃用。
要在模块中启用视图绑定,请在模块级build.gradle文件中将viewBinding构建选项设置为true,如以下示例所示:

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 {
   ...
}
nfs0ujit

nfs0ujit3#

只需在插件id 'kotlin-android-extensions'中将其添加到您的gradle文件中

6mw9ycah

6mw9ycah4#

插件{ id 'kotlin-android-extensions' }
只需在插件id 'kotlin-android-extensions'中将其添加到您的gradle文件中

相关问题