0
私はチュートリアルプロジェクトを使用しており、引っ張られたアイテムの数を制限する方法を理解できません。FirebaseRecyclerAdapterがサーバから取得するアイテムを制限するにはどうすればよいですか?
私はチュートリアルプロジェクトを使用しており、引っ張られたアイテムの数を制限する方法を理解できません。FirebaseRecyclerAdapterがサーバから取得するアイテムを制限するにはどうすればよいですか?
FirebaseRecyclerAdapter
は、DatabaseReference
またはQuery
のいずれかで初期化できます。 DatabaseReference
を使用すると、その場所にすべてのデータが表示されます。例えば。 (FirebaseUI docsから):
DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
DatabaseReference chatRef = ref.child("chat_messages");
mAdapter = new FirebaseListAdapter<Chat>(this,
Chat.class,
android.R.layout.two_line_list_item,
chatRef) {
@Override
protected void populateView(View view, Chat chatMessage, int position) {
((TextView)view.findViewById(android.R.id.text1)).setText(chatMessage.getName());
((TextView)view.findViewById(android.R.id.text2)).setText(chatMessage.getText());
}
};
messagesView.setAdapter(mAdapter);
のみ、最後の5件のチャットメッセージを表示するには、クエリを作成したいとアダプタにそれを渡します
DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
DatabaseReference chatRef = ref.child("chat_messages");
Query recentMessages = chatRef.limitToLast(5);
mAdapter = new FirebaseListAdapter<Chat>(this,
Chat.class,
android.R.layout.two_line_list_item,
recentMessages) {
@Override
protected void populateView(View view, Chat chatMessage, int position) {
((TextView)view.findViewById(android.R.id.text1)).setText(chatMessage.getName());
((TextView)view.findViewById(android.R.id.text2)).setText(chatMessage.getText());
}
};
messagesView.setAdapter(mAdapter);
あります、より多くのあなたが行うことができますFirebaseデータベースクエリ。詳しくはdocumentation on sorting and filtering dataをご覧ください。
ありがとうございます。私はFirebaseを初めて使い、それを楽しんでいます。 私はクエリでは、私はコンストラクタからクエリを分離することができないと思っていたときに制限することができます見た。 – Shaul