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