Когда мы используем библиотеку Android DataBinding, мы всегда пишем что-то вроде этого:
// layout xml
android:textColor="@{vm.textColor}"
// SomeVm.kt
var textColor = ObservableInt()
...
textColor.set(R.color.some_color)
Но это неправильно. TextView.setTextColor () требует параметр @ColorInt int, например:
public void setTextColor(@ColorInt int color);
Но мы установили ресурс @ColorRes int.
Итак, мой вопрос, есть ли способ ограничить переменную textColor
только для @ColorInt наблюдаемой int?
Я пробовал:
var textColor = ObservableField<@ColorInt Int>()
Но код не выдает ошибку:
textColor.set(R.color.some_color)