Android 如何从Firestore的URL显示图像

Android 如何从Firestore的URL显示图像,android,image,android-recyclerview,google-cloud-firestore,Android,Image,Android Recyclerview,Google Cloud Firestore,我可以通过实时数据库来实现,但我去了CloudFireStore,现在遇到了一些问题。我想通过Firestore的下载URL显示Firestore中的图像。我正在使用FirestoreRecyclerAdapter,我想在RecyclerView中填充一个imageView 我试着用在实时数据库中工作的方法来做,但我得到了一个错误,但这次我得到了一个错误,告诉我NumberFormatException:对于输入字符串: @Override protected void onBindViewHo

我可以通过实时数据库来实现,但我去了CloudFireStore,现在遇到了一些问题。我想通过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:For input string:…(此处的URL),我可以收集它,这意味着字符串很长,无法转换为int来填充图像视图。我如何做到这一点,或者是否有办法?或者甚至如何缩短URL,或者是否有办法做到这一点而不使用毕加索?

您的问题是这一行:

holder.produk\u image.setImageResource(Integer.parseInt(promo\u one.getImage());

您不应该尝试将图像的URL解析为整数,下一行使用毕加索:

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


应该为您处理图像加载。

您的问题是这一行:

holder.produk\u image.setImageResource(Integer.parseInt(promo\u one.getImage());

您不应该尝试将图像的URL解析为整数,下一行使用毕加索:

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


应该为您处理图像加载。

这解决了问题。它现在100%工作。干得好。a_local_nobody。Kan jy my asseblief help.Ou。这解决了问题。它现在100%工作。干得好。a_local_nobody。Kan jy my asseblief help.Ou。