使用初始值创建 MediatorLiveData
Create MediatorLiveData with initial value
有没有办法用初始值初始化 MediatorLiveData
?
我想实现如下目标:
val myLiveData = MediatorLiveData<String>("initial value")
MutableLiveData
有一个构造函数,它采用 documentation 的初始值,但是有没有办法为 MediatorLiveData
做同样的事情?
通过覆盖 addSource
和 post 初始值 postValue()
或 setValue()
来尝试以下操作
val mediator: MediatorLiveData<String> = object : MediatorLiveData<String>() {
override fun <S : Any?> addSource(source: LiveData<S>, onChanged: Observer<in S>) {
postValue("initial value")
}
}
这里没有构造函数,但 apply
作用域函数用于在其声明位置设置对象:
val myLiveData = MediatorLiveData<String>().apply {
value = "initial value"
}
有没有办法用初始值初始化 MediatorLiveData
?
我想实现如下目标:
val myLiveData = MediatorLiveData<String>("initial value")
MutableLiveData
有一个构造函数,它采用 documentation 的初始值,但是有没有办法为 MediatorLiveData
做同样的事情?
通过覆盖 addSource
和 post 初始值 postValue()
或 setValue()
val mediator: MediatorLiveData<String> = object : MediatorLiveData<String>() {
override fun <S : Any?> addSource(source: LiveData<S>, onChanged: Observer<in S>) {
postValue("initial value")
}
}
这里没有构造函数,但 apply
作用域函数用于在其声明位置设置对象:
val myLiveData = MediatorLiveData<String>().apply {
value = "initial value"
}