我有TextView和
当我绑定
android:textColor="@{viewModel.theme.primaryTextColor}"
其中primaryTextColor
是数据类Theme(val primaryTextColor:String)
我收到此编译错误
Cannot find a setter for \u003candroid.widget.TextView android:textColor\u003e that accepts parameter type \u0027java.lang.String\u0027\n\nIf a binding adapter provides the setter, check that the adapter is annotated correctly and that the parameter type matches."
我更改android:textColor ="#FF00000"
后就可以使用
答案 0 :(得分:1)
尝试
@BindingAdapter({"bind:color"})
fun setColor(textView : TextView , primaryTextColor :String ) {
textView.textColor = (ContextCompat.getColor(textView.getContext(), primaryTextColor)
}
并在xml中添加此行
app:color="@{viewModel.theme.primaryTextColor}"
注意:如果不作相应更改,primaryTextColor为String。