在你的gradle.properties添加
android.databinding.enableV2=true
现在我们可以通过LiveData(实际上是MutableLiveData)将android.../Fragment被重建也能重新接收到LiveData保存的数据
//在组件DESTROYED时,LiveData会把它移出观察者列表
//当然你也可以不关联LifecycleOwner,让订阅一直保持...super S> onChanged)
@MainThread
public void removeSource(@NonNull LiveData toRemote)
通过查看源码,我们可以知道在有观察者时...LiveData#onActive会被回调,MediatorLiveData会在内部迭代,用observeForever订阅所有被合并进来的LiveData,这样就能接收所有LiveData的变化,在没有观察者时...(boolLiveData,bool->Boolean.toString(bool));
上面只是一个演示,实际上可以执行更为复杂的逻辑,并且这种转换是惰性的,在没有激活态观察者时,这种转换不会发生.