首页 > 解决方案 > 运行时的 Kotlin 错误 - 未解析的引用对象 ID

问题描述

我开始学习使用 Kotlin 进行 android 开发。我试图在 MainActivity.kt 中调用对象 ID,但出现错误Unresolved reference : btnDatePicker

下面给出的是代码

<Button
    android:id="@+id/btnDatePicker"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="15dp"
    android:background="#0E0B0B"
    android:text="SELECT DATE"
    android:textColor="#C5BBBB"
    android:textSize="20sp"
    android:textStyle="bold"
    app:backgroundTint="#186C64" />

下面给出的是 MainActivity.kt 中的代码

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    btnDatePicker.setOnClickListener { Toast.makeText(this, "works", Toast.LENGTH_LONG).show() }


    }
}

将鼠标悬停在 btnDatePicker 上时,我看到以下选项,但不确定如何继续

在此处输入图像描述

标签: androidkotlin

解决方案


看起来您正在尝试使用合成视图绑定。您的项目需要kotlin-android-extension在 build.gradle 中启用插件,例如:

apply plugin: 'kotlin-android-extensions'

之后,您应该能够导入您的btnDatePicker.

请注意,不推荐使用 kotlin-android-extensions 和合成视图绑定,因此使用 Jetpack 视图绑定可能会更好。请参阅https://developer.android.com/topic/libraries/view-binding/migration


推荐阅读