JetPack组件之Viewbanding

43 阅读1分钟

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>