在我的火力基地有评论 -
我想按降序在RecyclerView中显示它们。所以,正如你所看到的,我在每个评论的日期都添加了“ - ”。
然后我刚用 -
query.orderByChild("date").limitToFirst(10);
哪个工作正常。 但我想分页,所以当用户点击“加载更多”时,它应该加载更多。 为此,我存储了最后一条评论ID,并尝试了类似这样的内容 -
query.orderByChild("date").startAt(lastCommentId).limitToFirst(10);
它不起作用,甚至没有产生结果。我也尝试改变startAt和orderByChild的位置,但没有成功。 然后我尝试了类似的东西 -
query.orderByKey().startAt(lastCommentId).limitToFirst(10);
哪个工作正常,但我想按日期顺序排列。所以,
query.orderByKey().startAt(lastCommentId).orderByChild("date").limitToFirst(10);
但这会导致我的申请崩溃。我不明白为什么它不起作用。我也尝试改变orderByChild的位置但结果相同。
任何人都可以向我解释这个问题是什么,并建议我更好地解决我想要做的事情。
谢谢!
答案
我对这个主题做了一些更多的研究,因为这是firebase的常见问题之一。我发现了这段视频https://www.youtube.com/watch?v=CH9ptm4NeTw
希望这有帮助!
答案 0 :(得分:0)
要获得第二页结果,您需要做两件事:
如果有多个具有相同日期的项目,则该密钥用作打破平局。
如果您同时拥有两个查询,请执行以下操作:
query.orderByChild("date").startAt(lastDate, lastCommentId).limitToFirst(10);
另见: