【发布时间】:2020-03-10 14:38:06
【问题描述】:
我有一个使用 GridLayoutManager 的 RecyclerView,每个单元由一个 ImageView 组成。我想用来填充它的数据以 .png 和 .jpeg 图像存储在我的 Firestore 存储中,每个图像的命名为 icon#.png 或 icon#.jpeg 其中 # 是相应单元格的位置。我的问题是,当我尝试使用您在下面看到的方式将每个图像加载到相应单元格的 imageView 中时,我收到一条错误消息,因为我无法检索每个图像,因为有些图像具有 .png 扩展名,而另一些具有 .png 扩展名。 jpeg 一。我的理解是我需要将文件扩展名传递给storageReference.child() 方法,然后才能从Firestore 加载任何图像,对吗?那么我怎样才能在这里实现我的目标呢?
onBindViewHolder():
@Override
public void onBindViewHolder(@NonNull final ViewHolder holder, int position) {
storageReference.child("Icons/icon"+position+".png").getDownloadUrl()
.addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
GlideApp.with(mContext).load(uri).into(holder.iconImgView);
Log.d("Adapter", "Image loaded successfully");
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.d("Adapter", "ERROR DOWNLOADING IMAGE");
}
});
}
【问题讨论】:
标签: android android-recyclerview google-cloud-firestore