@@ -25,31 +25,33 @@ abstract class QuickVBActivity<VM : QuickVBModel<VB>, VB : ViewDataBinding> @Jvm
2525 set(value) {
2626 field = value
2727 if (value != null ) {
28+ QuickBind .bind(this , value)
2829 setViewBinding()
30+ value.onBindingCreated(viewBinding)
2931 }
3032 }
3133
3234 private var viewBinding: VB ? = null
3335
3436 private fun setViewBinding () {
35- viewBinding = DataBindingUtil .setContentView(this , layoutId)
36- viewBinding?.lifecycleOwner = this
37+ if (viewBinding == null ) {
38+ viewBinding = DataBindingUtil .setContentView(this , layoutId)
39+ viewBinding?.lifecycleOwner = this
40+ }
3741 viewBinding?.setVariable(BRConstant .viewModel, mViewModel)
3842 setBindingVariable(viewBinding)
3943 viewBinding?.executePendingBindings()
4044 mViewModel?.mViewBinding = viewBinding
4145 }
4246
4347 override fun dealContentView () {
44- super .dealContentView()
48+ // super.dealContentView()
4549 val viewModelCls: Class <VM >? = ViewModelEx .get0Clazz(this )
4650 if (viewModelCls != null && this !is QuickBindingActivity && viewModelCls != QuickVBModel ::class .java) {
4751 mViewModel = ViewModelProvider (
4852 this ,
4953 ViewModelProvider .AndroidViewModelFactory (application)
5054 )[viewModelCls]
51- QuickBind .bind(this , mViewModel)
52- mViewModel?.onBindingCreated(viewBinding)
5355 } else {
5456 setViewBinding()
5557 }
0 commit comments