我在 UI 中有一个值,它的值取决于两个LiveData对象。想象一个需要 asubtotal = sum of all items price
和 a的商店total = subtotal + shipment price
。使用转换,我们可以对小计 LiveData 对象执行以下操作(因为它仅依赖于itemsLiveData
):
val itemsLiveData: LiveData<List<Items>> = ...
val subtotalLiveData = Transformations.map(itemsLiveData) {
items ->
getSubtotalPrice(items)
}
在总数的情况下,能够做这样的事情会很棒:
val shipPriceLiveData: LiveData<Int> = ...
val totalLiveData = Transformations.map(itemsLiveData, shipPriceLiveData) {
items, price ->
getSubtotalPrice(items) + price
}
但是,不幸的是,这是不可能的,因为我们不能在 map 函数中放置多个参数。任何人都知道实现这一目标的好方法吗?