Parameter not found using binding adapter

199 Views Asked by At

When I try to put a second parameter "imgError" in my BindingAdapter I have an error.

This is my BindingAdapter :

@BindingAdapter("imageUrl", "imgError", requireAll = true)
fun loadImage(view: ImageView, imageUrl: String?, imgError: Drawable) {
    if (!imageUrl.isNullOrEmpty())
        Picasso.get().load(imageUrl).error(imgError).into(view)
    else
        view.setImageDrawable(imgError)
}

I have this error :

AAPT: error: attribute imgError not found

I try differents way to solve it but nothing work.

This i how I use it :

<com.google.android.material.imageview.ShapeableImageView
                android:id="@+id/shapeableImageView"
                android:layout_width="75dp"
                android:layout_height="75dp"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintTop_toTopOf="parent"
                app:shapeAppearanceOverlay="@style/ShapeCorner"
                app:imageUrl="@{profile.photo.url}"
                app:imgError="@drawable/ic_placeholder_user_photo"
                tools:srcCompat="@drawable/ic_placeholder_user_photo"/>
1

There are 1 best solutions below

0
Jéwôm' On BEST ANSWER

My error was setting my drawable without using databinding:

app:imgError="@{@drawable/ic_placeholder_user_photo}"