这么写按钮能正常起作用:
val binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
val dn = binding.startNormalActivity
dn.setOnClickListener {
val intent = Intent(this, NormalActivity::class.java)
startActivity(intent)
}
val da = binding.startDialogActivity
da.setOnClickListener {
val intent = Intent(this, DialogActivity::class.java)
startActivity(intent)
}
这么写按钮点击无效:
val binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(R.layout.activity_main)
val dn = binding.startNormalActivity
dn.setOnClickListener {
val intent = Intent(this, NormalActivity::class.java)
startActivity(intent)
}
val da = binding.startDialogActivity
da.setOnClickListener {
val intent = Intent(this, DialogActivity::class.java)
startActivity(intent)
}
整个代码只有第二行有区别,其它均一致
目前是跟着《第一行android代码》在学习中,发现书中的插件已经淘汰了
刚好在网上搜到了本书作者的viewbinding的文章,稍微看了一下,就把书中的写法setContentView(R.layout.activity_main)和新的viewbinding混在一起写了,但是貌似会出问题,想来问问
不知道刚接触android的萌新能不能弄懂这个问题
上述代码只是创建了
ActivityMainBinding
对象,并未把视图设置到Activity
,设置视图还需要调用setContentView(View)
最后看看这个文章吧:ViewBinding 的本质