引入
在开发安卓软件的时候,我们会大量的使用点击事件。通常情况下,我们是这样做的:将在xml文件里把目标组件添加id属性,如下:
然后在activity里面通过findViewById(R.id.back) 得到一个对象,通过对象调用监听器,再在监听器里面写被点击以后的代码逻辑。如下:
这样做太麻烦了。如果我们软件有一百个点击事件,那岂不是要单独列出100行findViewById()?
另外,findViewById()还有可能出点类型转换和空指针的问题。因此,我们有了另一种更加方便快捷的绑定方式:视图绑定(viewBinding)
使用方法
在gradle (Module: app) 中设置:
根据版本和build configuration language的不同,viewBinding 里面的也可能是enable true
下面的一步就是在xml里面给你想要的组件配一个id (比如,android:id="@+id/myId"),和上面介绍的一样。
下一步:
如果Activity 名字叫XXXActivity,那这个binding的类型就叫:ActivityXXXBinding
下一步:
最后一步是给组件添加监听事件:
从这里我们能看到viewBinding(视图绑定)和我们之前用的findViewById()(数据绑定)的区别。前者可以直接通过binding.back设置监听器,而后者需要先创建一个对象再用对象设置监听器。
viewBinding的优势在一个页面需要很多组件与用户的互动的时候会尤为明显