Я хотел бы отобразить изображение в моем представлении переработчика, используя FirebaseUI и Firestore. Пока я могу отображать только текст. Я не смог найти понятного решения в Интернете.
Как видно из кода ниже, я смог связать текст с eventName
и eventCity
элементами текстового представления. Есть ли способ, возможно, с помощью Picasso, чтобы получить URI изображения из Firebase, используя getDisplay_Image_URI()
и связать его с eventDisplay
viewview? Я добавил класс POJO, который я использую для упрощения понимания.
ExplorePageAdapter. java
public class ExplorePageAdapter extends FirestoreRecyclerAdapter<POJO_explore_page_item, ExplorePageAdapter.EventHolder> {
/**
* Create a new RecyclerView adapter that listens to a Firestore Query. See {@link
* FirestoreRecyclerOptions} for configuration options.
*
* @param options
*/
public ExplorePageAdapter(@NonNull FirestoreRecyclerOptions<POJO_explore_page_item> options) {
super(options);
}
@Override
protected void onBindViewHolder(@NonNull EventHolder eventHolder, int i, @NonNull POJO_explore_page_item pojo_explore_page_item) {
eventHolder.eventName.setText(pojo_explore_page_item.getName());
eventHolder.eventCity.setText(pojo_explore_page_item.getCity());
//eventHolder.eventName.setText(pojo_explore_page_item.getName());
}
@NonNull
@Override
public EventHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.
layout.explore_page_item, parent,false
);
return new EventHolder(v);
}
class EventHolder extends RecyclerView.ViewHolder{
TextView eventName;
TextView eventCity;
ImageView eventDisplay;
//Button bookmark;
public EventHolder(@NonNull View itemView) {
super(itemView);
eventName = itemView.findViewById(R.
id.exp_event_name);
eventCity = itemView.findViewById(R.
id.exp_event_city);
eventDisplay = itemView.findViewById(R.
id.exp_display_image);
//bookmark = itemView.findViewById(R.
// id.bookmark);
}
}
}
POJO_explore_page_item. java
private String Display_Image_URI;
private String Event_ID;
private String capacity;
private String city;
private String country;
private String deadline;
private String end;
private String start;
private String price;
private String venue;
private String id;
private String name;
public POJO_explore_page_item() {
//empty constructor needed
}
public POJO_explore_page_item(String Display_Image_URI, String Event_ID, String capacity, String city, String country, String deadline, String end, String start, String price, String venue, String id, String name) {
this.Display_Image_URI = Display_Image_URI;
this.Event_ID = Event_ID;
this.capacity = capacity;
this.city = city;
this.country = country;
this.deadline = deadline;
this.end = end;
this.start = start;
this.price = price;
this.venue = venue;
this.id = id;
this.name = name;
}
public String getDisplay_Image_URI() {
return Display_Image_URI;
}
public String getEvent_ID() {
return Event_ID;
}
public String getCapacity() {
return capacity;
}
public String getCity() {
return city;
}
public String getCountry() {
return country;
}
public String getDeadline() {
return deadline;
}
public String getEnd() {
return end;
}
public String getStart() {
return start;
}
public String getPrice() {
return price;
}
public String getVenue() {
return venue;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
}