【问题标题】:How to display image from URL from Firestore如何从 Firestore 的 URL 显示图像
【发布时间】:2019-08-11 14:31:16
【问题描述】:

我可以使用实时数据库来解决问题,但我转到 Cloud FireStore,现在遇到了一些问题。我想通过 Firestore 的下载 URL 显示 Firestore 中的图像。我正在使用 FirestoreRecyclerAdapter,我想在 RecyclerView 中填充一个 imageView。

我尝试以与实时数据库中相同的方式执行此操作,但出现错误,但这次我收到错误消息,告诉我 NumberFormatException:对于输入字符串:

@Override
protected void onBindViewHolder(@NonNull NoteHolder holder, int p, 
   @NonNull promo_one_data promo_one) {
    holder.produk_product.setText(promo_one.getProduct());
    holder.produk_discription.setText(promo_one.getDiscription());
    holder.produk_discription_two.setText(promo_one.getDiscription_two());
    holder.produk_size.setText(promo_one.getSize());
    holder.produk_product_two.setText(promo_one.getProduct_two());
    holder.produk_price.setText(promo_one.getPrice());
    holder.produk_department.setText(promo_one.getDepartment());
    if ("1".equals(holder.produk_department.getText().toString())) {
        holder.itemView.setBackgroundColor(Color.parseColor("#FFCDD2"));
    }  else if ("2".equals(holder.produk_department.getText().toString())) {
        holder.itemView.setBackgroundColor(Color.parseColor("#FFA6AF"));
    } else {
            holder.itemView.setBackgroundColor(Color.WHITE);
        }
    holder.produk_image.setImageResource(Integer.parseInt(promo_one.getImage()));
    Picasso.get().load(promo_one.getImage()).into(holder.produk_image);

}

@NonNull
@Override
public NoteHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_promo, parent, false);
    return new NoteHolder(v);
}

如何在 Cloud Firestore 的 recyclerView 中显示图像。它向我显示“java.lang.NumberFormatException:对于输入字符串:...(此处的 URL),我可以收集这意味着字符串太长,无法转换为 int 来填充 imageView。我该怎么做,或者有办法吗?或者我如何缩短网址,或者有没有办法不使用毕加索?

【问题讨论】:

  • 解决了。它现在正在 100% 工作。干得好。
  • a_local_nobody。 Kan jy 我的 asseblief 帮助。欧。

标签: android image android-recyclerview google-cloud-firestore


【解决方案1】:

你的问题是这一行:

holder.produk_image.setImageResource(Integer.parseInt(promo_one.getImage()));

你不应该在这里尝试将图像的 URL 解析为整数,下一行使用 Picasso:

Picasso.get().load(promo_one.getImage()).into(holder.produk_image);

应该为您处理图像加载。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-08
    • 2021-09-07
    • 2020-01-23
    • 2021-06-01
    • 1970-01-01
    • 2022-07-05
    • 2018-11-22
    • 1970-01-01
    相关资源
    最近更新 更多