0
チャットアプリケーション用のListViewを作った。私はFirebaseを使用していますが、問題があります。リストビューの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(。 limitToLast(25) 'は動作していないようです。 – DeluxeD
クエリ –
ああ、 クエリクエリ= ref.limitToLast(20);と 'adapter = new FirebaseListAdapter(this、MessageModel.class、R.layout.item_chat_right、query){...で動作しますそれを修正! –
DeluxeD