android - 为什么 ViewBinding 无法识别工具栏?
问题描述
最近我发现 android kotlin 扩展已被弃用。现在我正在使用viewBinding
.
带有 android Kotlin 扩展。我对下面的代码没有问题
class DetailsActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState:android.os.Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_details)
setupToolbar()
}
private fun setupToolbar() {
setSupportActionBar(toolbar)
}
}
但是ViewBinding
如下所示,我得到unresolved reference error: toolbar
class DetailsActivity : AppCompatActivity() {
private lateinit var binding:ActivityDetailsBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding= ActivityDetailsBinding.inflate(layoutInflater)
val view=binding.root
setContentView(view)
setupToolbar()
}
private fun setupToolbar() {
setSupportActionBar(toolbar)
}
}
这是布局xml。 在此处输入图像描述
解决方案
改为引用toolbar
by viewbinding,尝试以下操作
class DetailsActivity : AppCompatActivity() {
private lateinit var binding: ActivityDetailsBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding= ActivityDetailsBinding.inflate(layoutInflater)
val view=binding.root
setContentView(view)
setupToolbar()
}
private fun setupToolbar() {
setSupportActionBar(binding.toolbar)
}
}
推荐阅读
- java - JTable中的按钮/复选框有条件
- reactjs - 将参数传递给选项卡导航器 React Navigation 5
- python - 图片 Scrapy 的抓取类名
- java - Websphere 9.00.6 Eclipse 氧气 EAR 部署问题
- wpf - 在 wpf 中居中垂直方向的网格
- cuda - 执行时出现问题:cudnn-install / 2.4。在 Linux 上验证 cuDNN 安装 / cudnn_samples_v7 测试
- vb.net - .NET 中的 Neo4j v4 驱动程序错误
- javascript - 如何在 ReactJS 中维护我的道具/状态?
- reactjs - 如何访问组件之外的历史对象(使用 HashRouter)?
- docker - 使用 Lando 从 PHPStorm 执行 PHPUnit 测试用例