public class ImageAdapter extends RecyclerView.Adapter<ImageAdapter.ImageViewHolder> {
private Context mContext;
private ArrayList<Upload> mUploads;
public ImageAdapter(Context context,ArrayList<Upload> uploads) {
this.mContext = context;
this.mUploads = uploads;
}
@NonNull
@Override
public ImageViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.image_item,parent,false);
return new ImageViewHolder(v);
}
@Override
public void onBindViewHolder(@NonNull ImageViewHolder holder, int position) {
Upload uploadCurrent = mUploads.get(position);
Glide.with(holder.itemView).load(uploadCurrent.getImageUrl())
.into(holder.imageView);
}
@Override
public int getItemCount() {
return mUploads.size();
}
public class ImageViewHolder extends RecyclerView.ViewHolder{
public ImageView imageView;
public ImageViewHolder(View itemView) {
super(itemView);
this.imageView = itemView.findViewById(R.id.image_view_upload);
}
}
}
public class Upload {
private String mImageUrl;
public Upload() {
//empty constructor needed
}
public Upload(String imageUrl) {
this.mImageUrl = imageUrl;
}
public String getImageUrl() {
return mImageUrl;
}
public void setImageUrl(String imageUrl) {
this.mImageUrl = imageUrl;
}
}
mDatabaseRef = FirebaseDatabase.getInstance().getReference("faces");
mDatabaseRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
//mUploads.clear();
for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
Upload upload = postSnapshot.getValue(Upload.class);
mUploads.add(upload);
}
mAdapter = new ImageAdapter(ImagesActivity.this, mUploads);
mRecyclerView.setAdapter(mAdapter);
}
firebase의 db에는 storage의 이미지 경로가 들어가있습니다. 그 경로를 이용해서 image를 recyclerview로 나타내고 싶은데 잘 되지 않습니다...ㅠㅠ
실행상 오류가 나지는 않는거 같은데 이미지가 나오지 않습니다...ㅠㅠ
도와주세요,,,ㅍㅍ