#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… Это выглядит немного грязно, кажется, есть возможности для улучшения.
Что-нибудь нужно изменить? пожалуйста, любой отзыв для моего кода, ребята…! 🙂 спасибо!