View Binding 报错的原因和解决方法是什么?

What is the cause and sol to the error showing due to view Binding?

单击 btnBmi 按钮时,应用程序崩溃,并且 logcat 显示绑定代码错误。

我已经在 build.gradle 文件中添加了代码并同步了它。

buildFeatures {
    viewBinding true
}

// .kt 文件的代码。

package com.nandini.android.workoutapp

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.nandini.android.workoutapp.databinding.ActivityBmiCalculatorBinding

class BmiCalculatorActivity : AppCompatActivity() {

    private var binding: ActivityBmiCalculatorBinding?=null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        binding= ActivityBmiCalculatorBinding.inflate(layoutInflater)
        setContentView(binding?.root)

        setSupportActionBar(binding?.toolbarBmi)
        if(supportActionBar!=null){
            supportActionBar?.setDisplayHomeAsUpEnabled(true)
            supportActionBar?.title="Calculate BMI"
        }
        binding?.toolbarBmi?.setNavigationOnClickListener {
            onBackPressed()
        }

    }
}

跳转到此 activity 的按钮位于 activity_main.xml 文件中,其 ID 为:btnBmi,意图代码在 MainActivity.kt 文件中。

//在MainActivity.kt文件的onCreate方法中。

binding?.btnBmi?.setOnClickListener{
        val intent = Intent(this@MainActivity,BmiCalculatorActivity::class.java)
        startActivity(intent)}

第 1 步更改样式中的父主题。xml/theme。xml-

parent="Theme.MaterialComponents.Light.NoActionBar"

第 2 步 - 在 activity_bmi_calculator.xml

中添加工具栏
 <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"       
        app:navigationIcon="@drawable/ic_home_black_24dp" />

步骤 3

class BmiCalculatorActivity
    : AppCompatActivity() {

    lateinit var binding: ActivityBmiCalculatorBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        binding = ActivityBmiCalculatorBinding.inflate(layoutInflater)
        setContentView(binding.root)
        binding.toolbar.title = "Calculate BMI"
        binding.toolbar.setNavigationOnClickListener {
            onBackPressed()
        }

    }