由于视图绑定而显示错误的原因和解决方法是什么?

发布于 2025-01-11 06:50:11 字数 1343 浏览 0 评论 0原文

单击 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 文件中的意图代码。

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

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

On Clicking the btnBmi button, the app is crashing, & in the logcat the error showing for binding code.

I have added the code in the build.gradle file and synced it.

buildFeatures {
    viewBinding true
}

// Code for .kt file.

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()
        }

    }
}

The button to jump on this activity is in the activity_main.xml file with id : btnBmi , & intent code in the MainActivity.kt file.

// in the onCreate method of MainActivity.kt file.

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

怀里藏娇 2025-01-18 06:50:11

步骤 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()
        }

    }

Step 1 change the Parent Theme in the style.xml/theme.xml-

parent="Theme.MaterialComponents.Light.NoActionBar"

Step 2 - Add toolbar in 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" />

Step 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()
        }

    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文