【发布时间】:2019-05-24 23:17:24
【问题描述】:
我需要从我的 Firebase 存储数据库中检索一张照片,并且我正在使用 FirestoreRecyclerAdapter。我有关于如果我使用 RecyclerView 适配器将如何完成的代码,但我不知道如何将它与 FirestoreRecycler 适配器一起使用。我可以为普通文本做到这一点,我需要一些帮助来添加照片代码。
这是使用普通 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);
}
}
}
【问题讨论】:
标签: android firebase android-recyclerview google-cloud-firestore