Android 如何限制FirebaseRecyclerAdapter从服务器提取的项目?

Android 如何限制FirebaseRecyclerAdapter从服务器提取的项目?,android,firebase,firebase-realtime-database,firebaseui,Android,Firebase,Firebase Realtime Database,Firebaseui,我正在使用教程项目,无法理解如何限制提取的项目数。您可以使用数据库引用或查询来初始化FirebaseRecyclerAdapter。使用DatabaseReference时,适配器将显示该位置的所有数据。例如(从以下位置): databasereferef=FirebaseDatabase.getInstance().getReference(); DatabaseReference chatRef=ref.child(“聊天信息”); mAdapter=新的FirebaseListAdapte

我正在使用教程项目,无法理解如何限制提取的项目数。

您可以使用
数据库引用或
查询来初始化
FirebaseRecyclerAdapter
。使用
DatabaseReference
时,适配器将显示该位置的所有数据。例如(从以下位置):

databasereferef=FirebaseDatabase.getInstance().getReference();
DatabaseReference chatRef=ref.child(“聊天信息”);
mAdapter=新的FirebaseListAdapter(此,
聊天室,
android.R.layout.two\u line\u list\u项,
查特雷夫){
@凌驾
受保护的void populateView(视图、聊天信息、int位置){
((TextView)view.findviewbyd(android.R.id.text1)).setText(chatMessage.getName());
((TextView)view.findviewbyd(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);
databasereferef=FirebaseDatabase.getInstance().getReference();
DatabaseReference chatRef=ref.child(“聊天信息”);
Query recentMessages=chatRef.limitToLast(5);
mAdapter=新的FirebaseListAdapter(此,
聊天室,
android.R.layout.two\u line\u list\u项,
最近消息){
@凌驾
受保护的void populateView(视图、聊天信息、int位置){
((TextView)view.findviewbyd(android.R.id.text1)).setText(chatMessage.getName());
((TextView)view.findviewbyd(android.R.id.text2)).setText(chatMessage.getText());
}
};
messagesView.setAdapter(mAdapter);

通过Firebase数据库查询,您可以做更多的事情。有关详细信息,请阅读。

您可以使用
数据库引用或
查询来初始化
FirebaseRecyclerAdapter
。使用
DatabaseReference
时,适配器将显示该位置的所有数据。例如(从以下位置):

databasereferef=FirebaseDatabase.getInstance().getReference();
DatabaseReference chatRef=ref.child(“聊天信息”);
mAdapter=新的FirebaseListAdapter(此,
聊天室,
android.R.layout.two\u line\u list\u项,
查特雷夫){
@凌驾
受保护的void populateView(视图、聊天信息、int位置){
((TextView)view.findviewbyd(android.R.id.text1)).setText(chatMessage.getName());
((TextView)view.findviewbyd(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);
databasereferef=FirebaseDatabase.getInstance().getReference();
DatabaseReference chatRef=ref.child(“聊天信息”);
Query recentMessages=chatRef.limitToLast(5);
mAdapter=新的FirebaseListAdapter(此,
聊天室,
android.R.layout.two\u line\u list\u项,
最近消息){
@凌驾
受保护的void populateView(视图、聊天信息、int位置){
((TextView)view.findviewbyd(android.R.id.text1)).setText(chatMessage.getName());
((TextView)view.findviewbyd(android.R.id.text2)).setText(chatMessage.getText());
}
};
messagesView.setAdapter(mAdapter);

通过Firebase数据库查询,您可以做更多的事情。阅读更多信息。

谢谢你的朋友。我是Firebase的新手,到目前为止我很喜欢它。我看到我可以在查询时进行限制,只是没有想到我可以将查询与构造函数分开。谢谢朋友。我是Firebase的新手,到目前为止我很喜欢它。我看到我可以在查询时进行限制,只是不认为我可以将查询与构造函数分开。