Привязка данных в пользовательском логическом атрибуте View не работает - PullRequest
0 голосов
/ 02 октября 2019

У меня есть пользовательское представление с атрибутом read, определенным в xml следующим образом:

<attr name="read" format="boolean" />

Я получаю этот атрибут в методе init пользовательского представления:

read = getBoolean(R.styleable.CustomCardView_read, true)

Это устанавливает следующее свойство представления:

var read: Boolean = false
    set(value) {
        field = value
        card_read_stripe.visibility = if (value) View.GONE else View.VISIBLE
    }

Когда я использую это настраиваемое представление, я связываю свойство read следующим образом:

app:read="@{!object.fresh}"

Моя проблемав том, что я всегда получаю true из стилизованных атрибутов, но никогда не получаю никакого значения со стороны привязки данных. Сеттер read вызывается только один раз со значением по умолчанию атрибута attrs.xml. У пользовательского представления также есть некоторые строковые атрибуты, которые связаны через привязку данных, и они реализованы точно таким же образом, и они работают без проблем. Что может быть причиной здесь?

1 Ответ

0 голосов
/ 03 октября 2019

Ошибка, по-видимому, в том, что компилятор привязки данных как-то не генерировал новый код. После очистки и перестройки всего проекта он снова начал работать.

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