如何解决;找不到属性“的setter”;在Android Studio中使用数据绑定时

如何解决;找不到属性“的setter”;在Android Studio中使用数据绑定时,android,kotlin,data-binding,Android,Kotlin,Data Binding,我正在尝试使用自定义绑定适配器使数据绑定在Android Studio中工作 为了设置映像,我定义了以下BindingAdapter: @BindingAdapter("app:iconImage") @JvmStatic fun setIconImage(view: ImageView, cool: Boolean){ view.setImageDrawable(determineImage(cool, view.context)) } 但是,在生成项目时,这会引发以下错误

我正在尝试使用自定义绑定适配器使数据绑定在Android Studio中工作

为了设置映像,我定义了以下BindingAdapter:

@BindingAdapter("app:iconImage")
@JvmStatic fun setIconImage(view: ImageView, cool: Boolean){
        view.setImageDrawable(determineImage(cool, view.context))

}
但是,在生成项目时,这会引发以下错误:

****/ data binding error ****msg:Cannot find the setter for attribute 
'app:iconImage' with parameter type androidx.databinding.ObservableBoolean 
on android.widget.ImageView.
这是imageview的xml:

    <ImageView
            android:layout_height="100dp"
            android:layout_width="100dp"
            tools:srcCompat="@drawable/favorite"
            app:iconImage="@{myModel.cool}"
            app:imageRotation="@{myModel.stars}"
            android:id="@+id/imageView" app:layout_constraintEnd_toEndOf="parent" android:layout_marginEnd="8dp"
            android:layout_marginBottom="8dp"
            app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp" app:layout_constraintTop_toBottomOf="@+id/ratingBar"/>


我已经尝试将“cool”参数的参数类型更改为ObservableBolean,但没有效果。

您从ViewModel传递的
cool
参数类型为
androidx.databinding.ObservableBolean
它应该是
布尔值
LiveData
cool
参数您从ViewModel传递的是类型
androidx.databinding.observebolean
它应该是
Boolean
LiveData

setIconImage
顶级函数吗?还是放在某个类中?是
setIconImage
顶级函数?还是放在某个班上?谢谢,一开始我也这么认为。事实证明,我的问题是由于在Kotlin中使用数据绑定时未定义的gradle依赖项引起的。在按照本文所述添加依赖项之后,我的问题得到了解决:。谢谢,我起初也这么认为。事实证明,我的问题是由于在Kotlin中使用数据绑定时未定义的gradle依赖项引起的。按照本文所述添加依赖项后,我的问题得到解决:。