Java Firebase实时数据库Android:如何一次显示数据、部件
我需要一些帮助,让Firebase数据库显示实时数据库中的一些信息 我正在使用Firebase Query通过使用Java Firebase实时数据库Android:如何一次显示数据、部件,java,android,database,firebase,firebase-realtime-database,Java,Android,Database,Firebase,Firebase Realtime Database,我需要一些帮助,让Firebase数据库显示实时数据库中的一些信息 我正在使用Firebase Query通过使用limitToLast(30)在列表视图中显示最后30项 但是,我想显示所有数据。我知道加载太多会导致系统速度减慢,这就是为什么30是最佳选择 有没有办法设置它,当我向下滚动时,它会隐藏最上面的文章,或者有某种页面,当他们进入下一页时,它会显示接下来的30篇文章 我的代码: String userID = user.getUid(); databaseReferenc
limitToLast(30)
在列表视图中显示最后30项
但是,我想显示所有数据。我知道加载太多会导致系统速度减慢,这就是为什么30是最佳选择
有没有办法设置它,当我向下滚动时,它会隐藏最上面的文章,或者有某种页面,当他们进入下一页时,它会显示接下来的30篇文章
我的代码:
String userID = user.getUid();
databaseReference.child(userID).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot data : dataSnapshot.getChildren()){
Author author = data.getValue(Author.class);
authorList.add(author);
}
Layout_Saved_Quotes savedQuotes = new Layout_Saved_Quotes(Show_Saved_Quotes.this, authorList);
list.setAdapter(savedQuotes);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
查询数据库参考代码>
databaseReference=FirebaseDatabase.getInstance().getReference().limitToLast(30)代码>使用回收视图。它将重用滚动列表的视图
尝试这样修改您的查询。
databaseReference.orderByChild(“id”).startAt(startAt).endAt(startAt+30)
当Recyclerview
被滚动并到达末尾时,您可以再次调用它。您希望实现“分页”,这可以通过使用。在你的搜索中使用这两个术语应该会引导你走上正确的道路。这涵盖了你应该需要的一切。您只需将.startAt(…).limitToFirst(…)
更改为.endAt(…).limitToLast(…)
,并在将数组列表添加到适配器之前将其反转,以保持项目的正确顺序。谢谢,我正在研究这两个建议