【发布时间】:2021-02-10 10:22:54
【问题描述】:
我有两个相同类型的 LiveData 对象,我想对输出进行相同的计算。像 Rx 中的合并运算符之类的东西我怎么能做到这一点。目前我正在这样做:
class VM : ViewModel() {
val input1LiveData = MutableLiveData<Int>()
val input2LiveData = MutableLiveData<Int>()
val squareLiveData = MutableLiveData<Int>()
}
class MyFragment : Fragment() {
private void fillSquare(input: Int){
viewmodel.squareLiveData.value = input * input
}
override onViewCreated(){
viewmodel.input1LiveData.observe(viewLifecycleOwner){
fillSquare(it * it)
}
viewmodel.input2LiveData.observe(viewLifecycleOwner){
fillSquare(it * it)
}
}
}
我猜这是一个不好的方法
【问题讨论】:
标签: android kotlin android-livedata