Android Firebase查询StartAt()

Jar*_*red 1 android firebase firebase-realtime-database

我在我的Android应用程序中使用查询并遇到一些麻烦.我的数据库最终会有数百或数千个轮询对象.我想一次大约20个,一旦我完成了20个,我会得到下一个20个.我可以很容易地得到前20个但是当我尝试使用startAt()查询时却没有得到任何东西.

这是我的代码:

pollQuery = rootRef.child(getString(R.string.poll_ref)).startAt(lastPollFromQuery).orderByChild(getString(R.string.timestamp_ref)).limitToFirst(numPollsToLoad);
Run Code Online (Sandbox Code Playgroud)

我已经尝试使用Integer positionfor lastPollFromQuery和我当前正在使用String(轮询对象的键).我也围着这个进行了洗牌startAt(),orderByChild()但这并没有做太多.

我究竟做错了什么?

Fra*_*len 5

您需要传入上次轮询中的时间戳和密钥.假设您要从第一页到第二页,那么您需要知道第1页上次轮询的时间戳和密钥.

pollQuery = rootRef.child(getString(R.string.poll_ref))
    .orderByChild("timestamp")
    .startAt(timestampFromLastPollOfPage1, keyFromLastPollOfPage1)
    .limitToFirst(numPollsToLoad);
Run Code Online (Sandbox Code Playgroud)