Java Firebase实时数据库Android:如何一次显示数据、部件

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

我需要一些帮助,让Firebase数据库显示实时数据库中的一些信息

我正在使用Firebase Query通过使用
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(…)
,并在将数组列表添加到适配器之前将其反转,以保持项目的正确顺序。谢谢,我正在研究这两个建议