为什么要传递LayoutInflater给inflated ()?



代码:

private lateinit var binding: ResultProfileBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ResultProfileBinding.**inflate(layoutInflater)**
val view = binding.root
setContentView(view)
}

为什么layoutInflater ?难道inflate不应该膨胀xml文件吗?

inflate上做一个ctrl +Q得到这个public static @NonNull com.example.ActivityMainBinding inflate(@NonNull android.view.LayoutInflater inflater)我在android开发者网站上找不到这个功能。要么在LayoutInflater中,要么在View中。在哪里可以找到这个函数?

是不是应该膨胀一个xml文件?

是的。LayoutInflater扩展布局资源

我在android开发者网站上找不到这个函数

它是在项目中生成的代码。生成的代码与您自己输入的代码没有明显的不同,这就是为什么它使用LayoutInflater来膨胀相关的布局资源。

在哪里可以找到这个函数?

在你的电脑上。具体来说,它将位于模块build/目录下的一个子目录中。

最新更新