binding.root 表示什么?
What does binding.root indicates for?
以下是我的代码片段。
class DashBoardHolder(val binding: ActivityDashBoardBinding) : RecyclerView.ViewHolder(binding.root) {
internal var tvName: TextView = itemView.findViewById(R.id.textViewGrandrukName)
binding.root 是对根视图的引用。
根视图是最外层视图
布局中的容器。
当你调用 binding.root 时,会 return
LinearLayout 根视图。(xml 代码下方)
在视图绑定之前,当我们调用 findViewById() 时,我们可以从任何布局调用任何 id,即使不是给定的布局。它不会像嘿你一样显示编译时错误从其他布局调用了 id,该视图不在您提供的布局中。当我们 运行 时,我们将获得“空”对象引用。但是视图绑定将提供来自根 view.we 的所有绑定 id 只能调用biding.name 和 biding.button.we 不能调用其他布局绑定 id.so 当我们使用视图竞价时,我们不会得到“NULL”。这是视图绑定的特定功能。都是因为根视图。
<LinearLayout ... >
<TextView android:id="@+id/name" />
<ImageView android:cropToPadding="true" />
<Button android:id="@+id/button"
android:background="@drawable/rounded_button" />
</LinearLayout>
以下是我的代码片段。
class DashBoardHolder(val binding: ActivityDashBoardBinding) : RecyclerView.ViewHolder(binding.root) {
internal var tvName: TextView = itemView.findViewById(R.id.textViewGrandrukName)
binding.root 是对根视图的引用。
根视图是最外层视图 布局中的容器。
当你调用 binding.root 时,会 return LinearLayout 根视图。(xml 代码下方)
在视图绑定之前,当我们调用 findViewById() 时,我们可以从任何布局调用任何 id,即使不是给定的布局。它不会像嘿你一样显示编译时错误从其他布局调用了 id,该视图不在您提供的布局中。当我们 运行 时,我们将获得“空”对象引用。但是视图绑定将提供来自根 view.we 的所有绑定 id 只能调用biding.name 和 biding.button.we 不能调用其他布局绑定 id.so 当我们使用视图竞价时,我们不会得到“NULL”。这是视图绑定的特定功能。都是因为根视图。
<LinearLayout ... > <TextView android:id="@+id/name" /> <ImageView android:cropToPadding="true" /> <Button android:id="@+id/button" android:background="@drawable/rounded_button" /> </LinearLayout>