Скажем, у меня есть это:Как заставить Firebase получить данные из внутренних клавиш push()?
Campaigns:{
UNIQUE_ID:{
title: "Hello",
description: "Desc"
}
}
и кучу других UNIQUE_ID
с, и я хочу, чтобы получить название и описание и поместить их в RecyclerView
.
Что я пробовал:
Я попытался сделать пользовательский класс кампании, со струнами description
и title
.
И у меня есть этот метод:
String title;
String description;
public Campaign(){}
public Campaign(String title, String description) {
this.title = title;
this.description = description;
}
public String getTitle() {
return title;
}
public String getDescription() {
return description;
}
При попытке получения адаптера, с помощью этого метода:
RecyclerView.Adapter mAdapter = new FirebaseRecyclerAdapter<Campaign,CampaignHolder>(Campaign.class, R.layout.recyclerview_template, CampaignHolder.class,ref){
@Override
public void populateViewHolder(CampaignHolder viewHolder, Campaign campaign, int position){
viewHolder.setTitle(campaign.getTitle());
viewHolder.setDescription(campaign.getDescription());
}
};
campaign.getTitle()
, очевидно, возвращающегося null
, и я не могу понять, почему, так как я никогда вызов конструктора. Но, если я хочу вызвать конструктор, мне нужны параметры title,description
. Но где я получу это, или я делаю это неправильно?
Примечание: Если я не ясно, к чему я старался быть, тогда сообщите мне о том, чего не хватает, прежде чем вы опустили его, чтобы ваш downvote был достоин и помогал сообществу.
Но подождите, в моем ViewHolder у меня есть сеттеры. Есть ли разница? –
И если я реализую свой второй метод, могу ли я даже позвонить в «Кампания (название, описание)»? –
вам не нужно ничего делать, firebase-ui автоматически отображает это для вас, а затем передаёт его как параметр в методе 'populateViewHolder()' @AbAppletic – Wilik