在安卓开发中,ViewBing 的作用就是简化 findViewById() 代码的写法。
看看下面的替换:
et=binding.text
//et=findViewById(R.id.text)
下面就看看怎么用的,
首先,打开app模块的build.gradle,然后添加如下代码:
buildFeatures { viewBinding = true }
这个是添加在Android 里面的,见下图:
添加代码后,系统提示sync now 见上图的双框,一定要点击,然后等待sync完毕,才有效。
下面就开始使用它:
这里的使用也很简单,如果你了解Kotlin语法的话,首先是创建一个binding变量,类型是ActivityMainBinding,这是一个编译时生成的类,它源于你的activity_main.xml,就是将你的xml文件名称再加上Binding后缀,如果你的布局是item_device.xml,那么生成的类就是ItemDeviceBinding,这样你应该好理解了。下面看看我的代码:
- ...
- import com.liwensoft.hellogit.databinding.ActivityMainBinding
-
- class MainActivity : AppCompatActivity() {
- private lateinit var et: EditText
- private lateinit var binding: ActivityMainBinding //add binding
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
-
- binding = ActivityMainBinding.inflate(layoutInflater)
- setContentView(binding.root)
- //setContentView(R.layout.activity_main)
- et=binding.text
- //et=findViewById(R.id.text)
- val plus:Button=binding.copy
- //val plus: Button = findViewById(R.id.copy)
- plus.setOnClickListener {
- OnClick()
- }
- }
- ...
- }
设置一个变量 private lateinit var binding: ActivityMainBinding //add binding
在onCreate 函数中加:
binding = ActivityMainBinding.inflate(layoutInflater)
然后可以看到bing 对下面一行注释的代码的替代。
我最开始看到这个是在下面链接中的一个介绍。
Android Studio 安装配置教程 - Windows(详细版)_android studio安装教程_初学者-Study的博客-CSDN博客
变量很多的时候,比较方便,最重要的是,别人这么写的时候,你能看懂。