视图绑定导致错误显示的原因和解决方案是什么



点击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_main.xml文件中,id为:btnBmi,&MainActivity.kt文件中的intent代码。

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

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

步骤1更改style.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()
}
}

最新更新