我创建了一个绑定适配器,以用picasso来显示图片,但它不能正常工作。我遇到了以下错误:
找到数据绑定错误。 ****/ 数据绑定错误 ****msg:无法在android.widget.ImageView上找到参数类型为java.lang.String的属性'app:loadPicture'的setter。 file:/home/groupevsc.com/mathieu_labar/Documents/Projects/android-jetpack/app/src/main/res/layout/activity_detail_movie.xml loc:27:31 - 27:52 ****\ 数据绑定错误 ****
这是我的绑定适配器:
这是我的 GitHub 代码库: https://github.com/mlabar/android-jetpack/tree/tech_ajout_databinding 有人有解决我的问题的想法吗?
谢谢!
找到数据绑定错误。 ****/ 数据绑定错误 ****msg:无法在android.widget.ImageView上找到参数类型为java.lang.String的属性'app:loadPicture'的setter。 file:/home/groupevsc.com/mathieu_labar/Documents/Projects/android-jetpack/app/src/main/res/layout/activity_detail_movie.xml loc:27:31 - 27:52 ****\ 数据绑定错误 ****
这是我的绑定适配器:
object CommonBindingUtil {
@JvmStatic
@BindingAdapter("loadPicture")
fun loadPicture(view: ImageView, text: String) {
Picasso.with(view.context)
.load(text)
.error(R.drawable.ic_movie_24)
.fit()
.placeholder(R.drawable.ic_movie_24)
.into(view)
}
}
我的XML文件中有一个属性"app:loadPicture":
<ImageView
android:id="@+id/picture"
android:layout_width="@dimen/material_image_simple_width"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:src="@drawable/ic_movie_24"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:loadPicture="@{viewModel.movie.Poster}"/>
这是我的 GitHub 代码库: https://github.com/mlabar/android-jetpack/tree/tech_ajout_databinding 有人有解决我的问题的想法吗?
谢谢!
build.gradle
中添加apply plugin: 'kotlin-kapt'
,这会有所帮助吗? - Blackbeltapp
的名称更改为其他以用于loadpicture
属性。 - Hemant Parmar