Android Studio升级到4.1.1后找不到 import kotlinx.android.synthetic.main.activity_main.*,无法直接使用控件id。
改为以下方式
在app下的build.gradle添加如下代码
android {
......
android.buildFeatures.viewBinding = true
}
布局文件(例如:activity_main.xml),系统会生成一个ActivityMainBinding的类。这个类和对应的布局文件绑定。
如下调用布局文件
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
val view = binding.root
setContentView(view)
}
调用控件
binding.name.text = viewModel.name
binding.button.setOnClickListener { viewModel.userClicked() }