ViewModel中的静态键

时间:2019-07-01 06:54:23

标签: android kotlin android-livedata mutablelivedata

有另一个程序员编写的项目。里面有这样的代码

class CardsViewModel : ViewModel() {
    val selected = MutableLiveData<PaymentCard>()

    companion object {
        @JvmStatic
        var keyId = 0
    }
}

每次将一些数据添加到ViewModel时,此keyId都会递增:

val cardsViewModel = ViewModelProviders.of(requireActivity())
                    .get(CardsViewModel.keyId.toString(), CardsViewModel::class.java)
                CardsViewModel.keyId++
                cardsViewModel.selected.value = PaymentCard.EMPTY

然后以这种方式获取它:

val cardsViewModel = ViewModelProviders.of(requireActivity()).get(CardsViewModel.keyId.toString(), CardsViewModel::class.java)
 bindingId = cardsViewModel.selected.value?.bindingId ?: ""

我最近才开始学习LiveData,但我不清楚此ID会提供什么以及如何使用它?我的印象是,我将数据绑定到某个键上,然后使用此键==进行检索。但这会引起很多问题。

P.S。该项目编写得很差,所以也许这有点of脚,但是由于缺乏LiveData的经验,我无法理解

0 个答案:

没有答案