如何解决;找不到属性“的setter”;在Android Studio中使用数据绑定时
我正在尝试使用自定义绑定适配器使数据绑定在Android Studio中工作 为了设置映像,我定义了以下BindingAdapter:如何解决;找不到属性“的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)) } 但是,在生成项目时,这会引发以下错误
@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依赖项引起的。按照本文所述添加依赖项后,我的问题得到解决:。