У меня есть модель представления, которая выглядит примерно так:
class MenuViewModel(
val state :MutableLiveData<StateModel?> = MutableLiveData()
) : ViewModel() {
val hasUserProfileUrl
get() = MediatorLiveData<Boolean>().also {
it.addSource(state, Observer {
null != it?.userProfileUrl
})
}
}
И представление с этим XML:
<Button
style="@style/MenuButton"
android:text="Share profile link"
android:visibility="@{ model.hasUserProfileUrl }" />
И следующий адаптер привязки:
@BindingAdapter("android:visibility")
fun setVisibility(view: View, value: Boolean?) {
view.setVisibility(if (true == value) View.VISIBLE else View.GONE)
}
Как всегда моя кнопка всегда скрыта. Что я делаю не так?