0
我爲我的聊天應用程序做了一個ListView。我正在使用Firebase,但是我遇到了一個問題:如何從ListView中獲取Firebase中的最後50個元素?
它顯示來自服務器的每個數據都會大大減慢加載時間。
我想作一個查詢只顯示在列表的最後10-30或50元,但我不知道如何開發它,並在沒有找到足夠好的答案給我Query Api Reference。如果我向上滾動,可以像每個其他聊天應用程序(Viber,Messenger)一樣動態調整數字會更好。 因此,這裏是我的顯示器實現:
private void displayChatMessages() {
listOfMessages = (ListView) findViewById(R.id.list_of_messages);
adapter = new FirebaseListAdapter<ChatMessage>(this, ChatMessage.class,
R.layout.message, FirebaseDatabase.getInstance().getReference()) {
@Override
protected void populateView(View v, ChatMessage model, int position) {
// Get references to the views of message.xml
TextView messageText = (TextView) v.findViewById(R.id.message_text);
TextView messageUser = (TextView) v.findViewById(R.id.message_user);
TextView messageTime = (TextView) v.findViewById(R.id.message_time);
// Set their text
messageText.setText(model.getMessageText());
messageUser.setText(model.getMessageUser());
// Format the date before showing it
messageTime.setText(DateFormat.format("yyyy-MM-dd (HH:mm:ss)",
model.getMessageTime()));
}
};
listOfMessages.setAdapter(adapter);
listOfMessages.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);
}
'REF =(DatabaseReference)database.getReference()子(將String.valueOf(。 generateChatID))。limitToLast(25)'似乎不工作。 – DeluxeD
它適用於查詢 –
哦,是的, 'Query query = ref.limitToLast(20);'和'adapter = new FirebaseListAdapter(this,MessageModel.class,R.layout.item_chat_right,query){... '修好了! –
DeluxeD