ViewBinding使用详解
生活随笔
收集整理的這篇文章主要介紹了
ViewBinding使用详解
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
ViewBinding使用詳解
-
使用ViewBinding時(shí)需要先在build.gradle文件中聲明
//老版本viewBinding {enabled = true}//新版本buildFeatures {viewBinding = true} -
生成綁定類時(shí)忽略某個(gè)布局文件,請(qǐng)將 tools:viewBindingIgnore="true" 屬性添加到相應(yīng)布局文件的根視圖中:
<LinearLayout...tools:viewBindingIgnore="true" >... </LinearLayout> -
使用
假設(shè)activity_main.xml為布局文件,所生成的綁定類的名稱就為 ActivityMainBinding
private lateinit var binding: ResultProfileBindingoverride fun onCreate(savedInstanceState: Bundle) {super.onCreate(savedInstanceState)binding = ResultProfileBinding.inflate(layoutInflater)val view = binding.rootsetContentView(view)binding.name.text = viewModel.namebinding.button.setOnClickListener { }} -
在Fragment中的視圖綁定
kotlin
private var _binding: ResultProfileBinding? = null// This property is only valid between onCreateView and// onDestroyView.private val binding get() = _binding!!override fun onCreateView(inflater: LayoutInflater,container: ViewGroup?,savedInstanceState: Bundle?): View? {_binding = ResultProfileBinding.inflate(inflater, container, false)val view = binding.rootreturn view}override fun onDestroyView() {super.onDestroyView()_binding = null}java
private ResultProfileBinding binding;@Overridepublic View onCreateView (LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {binding = ResultProfileBinding.inflate(inflater, container, false);View view = binding.getRoot();return view;}@Overridepublic void onDestroyView() {super.onDestroyView();binding = null;} -
視圖綁定不支持布局變量或布局表達(dá)式,因此不能用于直接在 XML 布局文件中聲明動(dòng)態(tài)界面內(nèi)容。
-
視圖綁定不支持雙向數(shù)據(jù)綁定。
總結(jié)
以上是生活随笔為你收集整理的ViewBinding使用详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。