FireChatアプリケーションから参照を取得しました。私のアプリケーションでFirebaseRecyclerAdapterを使用しましたが正常に動作していますが、特定のユーザIDに等しいデータをフィルタリングする必要があります。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;
}
}
ありがとうございました!
オカイ@フランクありがとう、私はそれを得る。 Firebaseのクエリを使用したくない場合は、モデリングデータでどのように行うのか考えてもらえますか? –
この場合、ユーザーごとにメッセージをモデル化できます。だから '/ messagesPerUser/$ uid/$ messageId'。 –
ええ、私はあなたが探していたものを得ました、私はちょうどあなたが提案したものを実装しました。それは期待どおりに動作します、ありがとう@フランク。 –