重命名 BaseVBActivity ,移除 BaseDbActivity 、 BaseDbFragment - #55
Conversation
- 直接使用 BaseVbActivity / BaseVbFragment (DataBinding 实现了 ViewBinding 接口) Closes hegaojian#32
|
感谢兄弟提来的PR,但是目前还不能移除 BaseDbActivity 和 BaseDbFragment。 |
我并没有移除databinding,我的意思是即使使用了databinding,也可以去继承BaseVbActivity和BaseVbFragment,因为Databinding同意实现了Viewbinding接口,所以直接用BaseVbActivity和BaseVbFragmen就可以了,BaseDb是多余的,他们完全可以用同一个 |
|
我明白你的意思了,你的说法是对的,是可以优化一下,比如这样: 而大家自己的BaseActivity 如果想用DataBinding 可以这样子 直接泛型继承ViewDataBinding就行: |
我觉得你什么都不用做,因为你的inflateBinding扩展函数已经进行了Databinding的判断 @JvmName("inflateBinding")
fun <VB : ViewBinding> AppCompatActivity.inflateBinding(): VB =
bindingClass<VB>(this) { clazz ->
clazz.getMethod("inflate", LayoutInflater::class.java).invoke(null, layoutInflater) as VB
}.also { binding ->
if (binding is ViewDataBinding) {
binding.lifecycleOwner = this
}
} |
|
.. 我都忘记这里家里这个判断了 |
重命名 BaseVBActivity 为 BaseVbActivity
删除 BaseDbActivity / BaseDbFragment