gpt4 book ai didi

android - 使用数据绑定(bind)加载图像

转载 作者:行者123 更新时间:2023-12-04 21:08:15 24 4
gpt4 key购买 nike

我想使用 Android 数据绑定(bind)设置图像。我已经阅读了很多关于此的教程,但图像仍然没有出现。

在我的模型中,我有以下方法:

@BindingAdapter({"app:imageUrl"})
public static void loadImage(ImageView view, String url) {

Log.i("III", "Image - " + url);
Context context = view.getContext();
Glide.with(context).load(GlobalValues.img_start_url + url).into(view);
}

我还应该提到“III”、“Image -” + url 永远不会打印,所以问题不在于 Glide。

这是我的xml:
 <data>

<variable
name="feeling"
type="bg.web3.helpkarma.ViewModels.Feeling"/>

</data>

<ImageView
android:layout_width="wrap_content"
android:id="@+id/icon"
android:layout_height="wrap_content"
android:layout_marginRight="16dp"
app:imageUrl="@{feeling.maleIcon}"/>

并且maleIcon是一个url字符串
@SerializedName("male_icon")
@Expose
private String maleIcon;

最佳答案

以下是步骤:
1. 在模型类中声明这个方法,在注解@BindAdapter("{bind:should be same variable here in which we are getting imageurl"})

  @BindingAdapter({"bind:imageUrl"})
public static void loadImage(ImageView view, String imageUrl) {
Picasso.with(view.getContext())
.load(imageUrl)
.placeholder(R.drawable.placeholder)
.into(view);}

2.转到适配器的xml文件并添加app:imageUrl="@{user.imageUrl}"。在这一行中,属性 app:imageurl 和 user.imageUrl 应该是相同的参数,我们在其中获取 bean 类中图像的 url。我们也定义了相同的第一步。
 <ImageView
android:id="@+id/restaurantIV"
android:layout_width="match_parent"
android:layout_height="match_parent"

android:scaleType="fitXY"
app:image="@{user.image}"
tools:ignore="ContentDescription"/>

3.)不要忘记添加,Datum是Bean类的名称对象的用户名`
    <variable
name="user"
type="com.brst.cocktailclub.beans.restaurantSearch.Datum"/>
</data>`

4.)还在布局参数中添加 xmlns:app="http://schemas.android.com/apk/res-auto"。
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">

5.)记住你的 Bean 类应该扩展 BaseObservable。

6.)最后设置适配器中的数据
 public void onBindViewHolder(@NonNull RestaurantAdapter.ViewHolder viewHolder, int i) {

Datum datum=data.get(i);

viewHolder.customRestaurantListBinding.setUser(datum);


}

关于android - 使用数据绑定(bind)加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40465337/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com