So, I use this popular piece of data binding code to load an image into the figurative representation of list items by going to the URL:
<ImageView android:layout_width="match_parent" android:layout_height="150dp"" app:imageUrl="@{movie.imageUrl}" />
Binding Adapter:
class Movie{ boolean isLoaded; @BindingAdapter({"bind:imageUrl"}) public static void loadImage(final ImageView view, String imageUrl) { Picasso.with(view.getContext()) .load(imageUrl) .into(view, new Callback.EmptyCallback() { @Override public void onSuccess() {
If I just make the BindingAdapter non-static, then it throws an error:
java.lang.IllegalStateException: Required DataBindingComponent is null in class MovieTileBinding. A BindingAdapter in com.example.moviesapp.Pojos.Results is not static and requires an object to use, retrieved from the DataBindingComponent. If you don't use an inflation method taking a DataBindingComponent, use DataBindingUtil.setDefaultComponent or make all BindingAdapter methods static.
source share