1届搁、 在app主工程目錄下蚂子,build.gradle下-->android{}下添加
viewBinding{
? ? enabled =true
}
具體位置萌庆,參見(jiàn)下圖燥透,
每次在layout資源目錄下創(chuàng)建布局沙咏,默認(rèn)會(huì)自動(dòng)生成對(duì)應(yīng)的ViewBinding類,例如:activity_main.xml
Activity中使用:
ViewBinding bind = ActivityMainBinding.inflate(layoutInflater)
setContentView(bind.root)
在fragment中使用:創(chuàng)建fragment_main_xml
override fun onCreateView(inflater:LayoutInflater, container:ViewGroup?, savedInstanceState:Bundle?):View? {
ViewBinding bind =?FragmentMainBinding.inflate(inflater, container,false)
return bind.root
}
在adapter中使用:
val bind =ItemVideoWallpaperAdapterBinding.inflate(inflater, parent,false)
MyViewHolder(bind.root)
在dialog中使用
val bind =DialogAppAutoStartBinding.inflate(LayoutInflater.from(context), null, false)
init {
setContentView(bind.root)
setCanceledOnTouchOutside(true)
bind.tvDialogConfirm.setOnClickListener{
? ? ? ? dismiss()
onRun?.run()
}
}
如果禁止布局生成viewbinding類班套,添加如下代碼即可
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
? ? xmlns:app="http://schemas.android.com/apk/res-auto"
? ? xmlns:tools="http://schemas.android.com/tools"
? ? android:layout_width="match_parent"
? ? android:layout_height="match_parent"
? ? tools:viewBindingIgnore="true">
.........
</FrameLayout>