Статический ключ в ViewModel - PullRequest
0 голосов
/ 01 июля 2019

Есть проект, написанный другим программистом.И в нем есть такой код

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 я не могу понять это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...