-2

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)}
Nandini Agarwal
  • 91
  • 1
  • 10
  • Add the crash log with question . – ADM Mar 03 '22 at 05:55
  • 1
    Does this answer your question? [Unfortunately MyApp has stopped. How can I solve this?](https://stackoverflow.com/questions/23353173/unfortunately-myapp-has-stopped-how-can-i-solve-this) – a_local_nobody Mar 03 '22 at 06:13

1 Answers1

2

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

    }
Sandesh Khutal
  • 1,712
  • 1
  • 4
  • 17