如何解决binding.root 表示什么?
以下是我的代码片段。
class DashBoardHolder(val binding: ActivityDashBoardBinding) : RecyclerView.ViewHolder(binding.root) {
internal var tvName: TextView = itemView.findViewById(R.id.textViewGrandrukName)
解决方法
-
binding.root 是对根视图的引用。
-
根视图是最外层视图 布局中的容器。
-
当你调用 binding.root 时,会返回 LinearLayout 根视图。(下面 xml 代码)
-
在视图绑定之前,当我们调用 findViewById() 时,我们可以从任何布局调用任何 id,甚至除了给定布局之外。它不会显示编译时错误,就像你从其他布局调用 id 一样,该视图不在您提供的布局中。当我们运行时,我们将获得“空”对象引用。但视图绑定将从根视图中提供所有绑定 ID。我们只能调用biding.name 和biding.button。我们不能调用其他布局绑定 id.so 当我们使用视图出价时,我们不会得到“NULL”。这是视图绑定的特定功能。所有这些都是因为根视图。
<LinearLayout ... > <TextView android:id="@+id/name" /> <ImageView android:cropToPadding="true" /> <Button android:id="@+id/button" android:background="@drawable/rounded_button" /> </LinearLayout>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。