Viewbanding是一个替代findviewbyid的方法,增加了模块性和耦合度而且符合面向对象编程的一个组件更利于APP的性能和内存抛出异常等问题,抛掉了以前的查找id和选择的麻烦
class BlankFragment : Fragment() {
/*viewbanding绑定方法*/
/*通过懒加载加载实例对象,实例对象是自动生成,命名为xml的文件名*/
private lateinit var blankFragment:FragmentViewbandingBinding
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
/*对实例进行加载实例化*/
blankFragment=FragmentViewbandingBinding.inflate(inflater,container,false)
/*返回实例根视图*/
return blankFragment.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
/*通过实例的viewbanding对内部布局进行绑定发送数据*/
blankFragment.tvViewBandingFragment.text="我已经绑定了"
}
}
下面是xml文件
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ViewBanding.BlankFragment">
<TextView
android:id="@+id/tv_viewBandingFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="未绑定" />
</FrameLayout>