Is ViewBinding set up correctly?

53 Views Asked by At

My project is not finding the reference to the 1st monster01.

binding.monster01.setOnClickListener { viewMonsterImage(R.drawable.monster01) }

Here is the whole section:

class MainActivity : AppCompatActivity() {
    private lateinit var binding: ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)

        setSupportActionBar(binding.toolbar)

        binding.monster01.setOnClickListener { viewMonsterImage(R.drawable.monster01) }

    }

    private fun viewMonsterImage(monsterId: Int) {
        val intent = Intent(this, DetailActivity::class.java)
        intent.action = Intent.ACTION_VIEW

        val uri = Uri.parse("http://com.example.myfavoritemonsterviewbinding/view?id=$monsterId")
        intent.data = uri

        intent.putExtra("monsterId", monsterId)

        startActivity(intent)
    }
}

The reference is correct on the layout and I added ViewBinding to Gradle. What am I missing?

Here's a snippet of the layout:

<ImageButton
    android:id="@+id/monster01"
    android:contentDescription="@string/choose"
    android:src="@drawable/monster01"
    android:layout_width="0dp"
    android:layout_height="150dp"
    android:layout_weight="1"
    android:scaleType="fitXY"/>
0

There are 0 best solutions below