Пожалуйста, ознакомьтесь с моим простым кодом модели представления в архитектуре Android MVVM

#android #design-patterns #mvvm #viewmodel

Вопрос:

Это Мой код модели представления.

 private val _name: MutableLiveData<String> by lazy {
        MutableLiveData<String>("")
    }
    val name: LiveData<String>
    get() = _name

    private val _birthday: MutableLiveData<String> by lazy {
        MutableLiveData<String>("")
    }
    val birthday: LiveData<String>
    get() = _birthday

    private val _email: MutableLiveData<String> by lazy {
        MutableLiveData<String>("")
    }
    val email: LiveData<String>
    get() = email

    private val _isClickable: MutableLiveData<Boolean> by lazy {
        MutableLiveData<Boolean>(false)
    }
    val isClickable: LiveData<Boolean>
    get() = _isClickable

    fun update(
            userName: String? = null,
            userBirthday: String? = null,
            userEmail: String? = null
    ) {
        userName?.let { _name.value = userName }
        userBirthday?.let { _birthday.value = userBirthday }
        userEmail?.let { _email.value = userEmail }
        val canSubmit = (_name.value?.isNotBlank() ?: false)
                amp;amp; (_birthday.value?.isNotBlank() ?: false)
                amp;amp; (_email.value?.isNotBlank() ?: false)
        _isClickable.value?.let {
            if (it!=canSubmit) {
                _isClickable.value = canSubmit
            }
        }
    }
 

и мой код действия приведен ниже.
Активность

Я не уверен, что правильно использую viewmodel… Это выглядит немного грязно, кажется, есть возможности для улучшения.

Что-нибудь нужно изменить? пожалуйста, любой отзыв для моего кода, ребята…! 🙂 спасибо!