我需要从Firebase存储数据库中检索照片,并且我正在使用FirestoreRecyclerAdapter。我有使用RecyclerView Adapter时将如何执行的代码,但无法弄清楚如何将其与FirestoreRecycler Adapter一起使用。我可以使用普通文字,而且在添加照片代码方面需要一点帮助。
这是使用普通RecyclerViewAdapter的外观。 ***中的部分是我在适配器中无法执行的部分。
public class ImageAdapter extends
RecyclerView.Adapter<ImageAdapter.ImageViewHolder> {
private Context mContext;
private List<Upload> mUploads;
public ImageAdapter(Context context, List<Upload> uploads) {
mContext = context;
mUploads = uploads;
}
@Override
public ImageViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(mContext).inflate(R.layout.image_item, parent, false);
return new ImageViewHolder(v);
}
@Override
public void onBindViewHolder(ImageViewHolder holder, int position) {
holder.textViewName.setText(uploadCurrent.getName());
*** Upload uploadCurrent = mUploads.get(position); ***
*** Picasso.with(mContext) ***
*** .load(uploadCurrent.getImageUrl()) ***
*** .fit() ***
*** .centerCrop() ***
*** .into(holder.imageView); ***
}
@Override
public int getItemCount() {
return mUploads.size();
}
public class ImageViewHolder extends RecyclerView.ViewHolder {
public TextView textViewName;
public ImageView imageView;
public ImageViewHolder(View itemView) {
super(itemView);
textViewName = itemView.findViewById(R.id.text_view_name);
imageView = itemView.findViewById(R.id.image_view_upload);
}
}
}
这是我的代码-我已经从数据库中检索了文本,但不确定如何检索照片。
public class FirebaseRecyclerViewAdapter extends FirestoreRecyclerAdapter<Buildings, FirebaseRecyclerViewAdapter.FirebaseRecyclerViewHolder> {
public FirebaseRecyclerViewAdapter(FirestoreRecyclerOptions<Buildings> options) {
super(options);
}
@Override
protected void onBindViewHolder(FirebaseRecyclerViewHolder holder, int position, Buildings model) {
holder.textViewName.setText(model.getName());
}
@NonNull
@Override
public FirebaseRecyclerViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.buildings_row_item, parent, false);
return new FirebaseRecyclerViewHolder(v);
}
class FirebaseRecyclerViewHolder extends RecyclerView.ViewHolder {
TextView textViewName;
public FirebaseRecyclerViewHolder(View itemView) {
super(itemView);
textViewName = itemView.findViewById(R.id.building_name);
}
}
}
答案 0 :(得分:0)
在onBindViewHolder()中添加此毕加索代码,
Picasso.get().load(imageURL).into(holder.mImage);
,并在FirebaseRecyclerViewHolder()中使ImageView完整
mImage=itemView.findViewById(R.id.mainImage);
这是FirestoreRecyclerAdapter的完整示例 https://gist.github.com/YQadoome/f4dde70da0d129dc90ed30890fef6463
请告诉我这是否对您有用