package com.orange.origin.origin

import androidx.databinding.DataBindingUtil
import androidx.databinding.ViewDataBinding

abstract class BaseAgentActivity<VM: BaseViewModel,DB:ViewDataBinding>: BaseVMActivity<VM>() {

    lateinit var iDataBinding: DB

    /**
     *
     */
    override fun initDataBinding() {
        iDataBinding = DataBindingUtil.setContentView(this,getLayoutId())

        //TODO1
        /**
         * 如果使用jetpack 中的 liveData 来完成绑定，则需要使用另外一套观察者模式来接管更新，这里 databinding 的观察者模式不会通知到 livedata ， 需要我们在绑定 livedata 时使用具体的 ViewDataBinding 实现来调用 ViewDataBinding.setLifecycleOwner(this); 开启。这局话可以卸载 activity 的onCreate方法里。（具体以后需要整理一份 jetpack ViewModel 资料）
         * https://www.cnblogs.com/summer-xx/p/13997646.html?ivk_sa=1024320u
         */
        iDataBinding.lifecycleOwner = this
    }
}