INNER CODE UNIT · Kotlin

BaseVbActivity

hegaojian/JetpackMvvm · JetpackMvvm/src/main/java/me/hgj/jetpackmvvm/base/ui/BaseVbActivity.kt:14

abstract class BaseVbActivity<VM : BaseViewModel,VB: ViewBinding> : BaseVmActivity<VM>(), BaseIView {

    //使用了 ViewBinding 就不需要 layoutId了,因为 会从 VB 泛型 找到相关的view
    override val layoutId: Int = 0
    lateinit var mBind: VB

    /**
     * 子类可选择自己实现获取 VB 的方法, 不实现则默认使用框架的反射方式获取
     */
    open fun createViewBinding(): VB {
        // 默认通过反射创建
        return inflateBinding()
    }

    override fun initViewDataBind(): View? {
        mBind = createViewBinding()
        BackgroundLibrary.inject(this)
        return mBind.root

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…