【发布时间】:2021-02-13 16:38:26
【问题描述】:
This Android tutorial 介绍了视图绑定 的概念,this section 演示了如何使用它。在这种情况下,视图绑定是使用以下代码设置的。
class MainActivity : AppCompatActivity() {
lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
}
}
调用ActivityMainBinding.inflate()的解释如下:
此行初始化您将用于访问的绑定对象 activity_main.xml 布局中的视图。
这里没有解释变量layoutInflater 的定义位置。
使用Android Studio时,代码补全提示变量“来自getLayoutInflater()”:
getLayoutInflater() 似乎是Activity 中的一种方法,但这并不能帮助我理解对layoutInflater 的引用在做什么、在哪里定义以及它在此时的范围内如何代码。有人可以帮我理解这个吗?
【问题讨论】:
-
layoutInflater 将在后台执行
getLayoutInflater()。 Kotlin 生成 getter 和 setter。我不是 100% 确定,但我认为 layoutinflater 是 AppCompatActivity 类中的一个变量。
标签: android android-studio kotlin android-viewbinding