【问题标题】:Using glide for setting the image使用 glide 设置图像
【发布时间】:2020-01-23 20:07:10
【问题描述】:

Android 初学者在这里。 我正在尝试使用 glide(并且我已经添加了库)将图像添加到我的图像视图中。

看看其他例子,大多数人似乎都这样做: Glide.with(this).load("link").into(myHolder.image);

但是当我使用我的适配器类时,这不起作用。

public class MyAdapter extends RecyclerView.Adapter<MyHolder> {
Context c;
ArrayList<Model> models;

public MyAdapter(Context c, ArrayList<Model> models) {
    this.c = c;
    this.models = models;
}

@NonNull
@Override
public MyHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
    View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.box_listview, null);
    return new MyHolder(view);
}

@Override
public void onBindViewHolder(@NonNull MyHolder myHolder, int i) {
    myHolder.name.setText(models.get(i).getName());
    myHolder.type.setText(models.get(i).getType());
    Glide.with(this).load("http://img.pokemondb.net/artwork/pokemonname.jpg").into(myHolder.image);
}

@Override
public int getItemCount() {
    return models.size();
}

}

下面有一条红线。 在上下文中应该怎么做?

【问题讨论】:

  • Glide.with(c).load("img.pokemondb.net/artwork/…; c 是上下文
  • 另外,如果你是初学者,我建议你从 Kotlin 开始学习而不是 java。
  • 上下文将是getActivity()getContext(),因为adapter 没有自己的上下文。像下面这样改变它,希望它会解决。 Glide.with(getActivity()).load("http://img.pokemondb.net/artwork/pokemonname.jpg").into(myHolder.image);
  • 基山是对的!当你传递“this”时,你真的想要一个“Context”对象,它可以是一个活动、片段活动或上下文本身。当您将上下文传递给适配器时,只需使用它即可。
  • 你也可以投票给我,如果我仍然有帮助的话。

标签: java android intellij-idea


【解决方案1】:
Glide.with(this).load("http://img.pokemondb.net/artwork/pokemonname.jpg").into(myHolder.image);

用下面的代码更改上面的代码:

Glide.with(c).load("http://img.pokemondb.net/artwork/pokemonname.jpg").into(myHolder.image);

另外,请检查您的网址,它显示 404 - 未找到错误。所以这可能是因为图像没有加载到您的图像视图上。

【讨论】:

  • 谢谢!在这种情况下 c 代表什么?它只是一个随机的上下文..?
  • "c" 是您的 context 变量声明。 :)
【解决方案2】:

当你使用 Glide.with(this) 时,thiscontext,你不能简单地使用它而不知道要发送什么。

您可以使用holder.image.getContext() 方法作为上下文。

此外,请检查您是否在图片上使用了 https,因为后来的 Google APIS(自 PIE 起)要求您使用安全网址,除非您另有说明。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多