我正在学习使用数据绑定(bind)库。我知道它消除了手动调用 findViewById() 的需要,并使代码更加健壮和可读。
为了理解使用,我做了以下工作:
<layout>
标记为根 现在我发现有一个新的“TempLayoutBinding”类可用,其中包含变量“tv1”和“tv2”。
我的问题是 ,即使我已经指定了
<layout>
在 temp_layout.xml 中的标签,为什么我还需要调用 mBinding = DataBindingUtil.setContentView(...)
?它具体有什么作用?
最佳答案
什么正规setContentView(layoutRes)
所做的是在当前 Activity 中显示您的 UI,并将其膨胀到添加到 Activity 上下文中的 View 中,因此您可以在膨胀的布局上调用 findViewById 和其他方法。
在数据绑定(bind)中,正则 setContentView(layoutRes)
替换为 DataBindingUtil.setContentView(context, layoutRes)
,它完成了上述所有工作,并创建了绑定(bind)对象,它在后台完成了 findViewById 和所有其他与数据绑定(bind)相关的任务,并为您提供了可以使用的绑定(bind)对象。
关于android - 使用数据绑定(bind)库时需要调用 DataBindingUtil.setContentView() 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45706965/