我正在寻找一种方法来组合Dao中的一些LiveData函数并将其转换为单个实体。我想创建这样的东西:
private val combinedValues(ld1, ld2, ld3, ld4){
first, second, third, fourth -> CombinedLiveDataValues(first, second, third, fourth)
}
val combinedEntity: LiveData<Any> = Transformations.map(combinedValues){ it->
val something = it.first.map (etc...)
}
如何创建一种不重复代码,不对所有liveData进行汇总和添加的方法?
答案 0 :(得分:-1)
您可以使用类似的东西
fun<T> combine(context: AppCompatActivity, vararg input: LiveData<T>): LiveData<T> {
val output = MutableLiveData<T>()
input.forEach {
it.observe(context, androidx.lifecycle.Observer { value ->
output.value = value
})
}
return output
}