С учетом использования приложения FireChat я использовал FirebaseRecyclerAdapter в своем приложении, он работает нормально, но мне нужно отфильтровать данные, которые равны определенному идентификатору пользователя.Фильтрация данных перед заполнением вида из FirebaseRecyclerAdapter
В populateView, если я делаю, что эти данные фильтруются, но пустой обработчик Элемент Item также создается.
mFirebaseAdapter = new FirebaseRecyclerAdapter<Tags, TagsViewHolder>(
Tags.class,
R.layout.item_message,
TagsViewHolder.class,
mFirebaseDatabaseReference.child("tags")) {
@Override
protected void populateViewHolder(TagsViewHolder viewHolder, Tags tags, int position) {
mProgressBar.setVisibility(ProgressBar.INVISIBLE);
if((tags.getUserid()).equals(mFirebaseUser.getUid()))
viewHolder.tagTextView.setText(tags.getTagname());
}
};
Есть ли способ, что я могу фильтровать его, прежде чем вид будет создаваться?
мой класс POJO является:
public class Tags {
private String userid;
private String tagname;
private HashMap<String, Object> timestampCreated;
public Tags() {
}
public Tags(String userid, String tagname, HashMap<String, Object> timestampCreated) {
this.userid = userid;
this.tagname = tagname;
this.timestampCreated = timestampCreated;
}
public String getUserid() {
return userid;
}
public String getTagname() {
return tagname;
}
public HashMap<String, Object> getTimestampCreated() {
return timestampCreated;
}
}
Спасибо!
Okay @Frank Спасибо, я понял. Если я не хочу использовать запрос Firebase, вы можете дать представление о том, как это сделать с данными моделирования? –
В этом случае вы можете моделировать сообщения для каждого пользователя. Так '/ messagesPerUser/$ uid/$ messageId'. –
Да, я получил то, что искал, я только что реализовал то, что вы предложили. Он работает так, как ожидалось, спасибо большое @Frank. –