Есть проект, написанный другим программистом.И в нем есть такой код
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, и мне неясно, что дает этот идентификатор и как с ним работать?У меня сложилось впечатление, что я связал данные с каким-то ключом, а затем извлек его с помощью этого ключа =) Но это вызывает много вопросов.
PS Проект был написан плохо, так что, возможно, это какой-токостыль, но из-за отсутствия опыта с LiveData я не могу понять это