У меня есть пользовательский атрибут, определенный следующим образом:
<declare-styleable name="CustomView">
<attr name="customimage" format="reference"/>
</declare-styleable>
Атрибут должен быть ссылкой на чертеж.Это работает нормально, если я делаю это:
app:customimage="@drawable/customimagename"
Но я пытаюсь использовать привязку данных Android для динамической установки изображения.И я не могу установить этот атрибут с полем из моей модели представления.
Вот что я пробовал до сих пор, где viewmodel.imageResourceId
- это целое число идентификатора ресурса для отрисовки:
app:customimage="@{viewmodel.imageResourceId}"
app:customimage="@{ContextCompat.getColor(context, viewmodel.imageResourceId)}"
Я также попытался передать его в рисование, где viewmodel.imageDrawable
- это фактическое рисование:
app:customimage="@{viewmodel.imageDrawable}"
Я также попытался создать BindingAdapter
для установки значения.Но ничего из этого даже не компилируется.Так как же передать ссылку на рисование в пользовательский атрибут с помощью привязки данных?