如何将firebase从最后一项分页到第一项?

时间:2016-10-25 04:21:46

标签: android firebase pagination firebase-realtime-database

我正在努力让firebase分页工作但是我想要最新的项目然后稍微更旧,我尝试使用它但似乎无法获得新的值,不断传递相同的...我正在路过字符串Id到endAt是路径Projects> projectId> moreinfo

mDatabase.child("projects").orderByChild("viewCount").limitToLast(25).endAt(offSet.get("first")).addValueEventListener(new ValueEventListener() {

我尝试将其切换为startAt,我甚至没有得到结果......任何想法?

2 个答案:

答案 0 :(得分:0)

解决方案1 ​​

在设置项目的值时,您必须再设置一个附加属性作为timeStump。

projects.setTimeStump(System.currentTimeMillis());

然后你可以像这样查询

Query query=myRef.orderByChild("timeStump").limitToLast(50);

解决方案2

在设置项目时,您可以将firebase的.priority变量设置为

item.setWithPriority(yourObject, 0 - Date.now());

并查询它

Query query=myRef.child('projects').startAt().limit(20);

答案 1 :(得分:0)

偏移量必须与orderByChild使用的密钥相同 - 这就是为什么它不起作用,所以更改了用于viewCount的HashMap的endAt(offSet.get("first"))