我的问题可能是一个愚蠢的问题,我已阅读文档,但没有解决我的问题。当我使用limitToLast获取最后15条消息时(比如5-20),如果我删除第20条消息,则childListener会返回这样的消息(5-6-7-8-9-10-11-12- 13-14-15-16-17-18-19-4)...如您所见,最后一项是4号。
代码是这样的:
messagesListener = FBMessagesRef.limitToLast(15).addChildEventListener(new ChildEventListener()
,我该如何解决它并且没有得到第4项
答案 0 :(得分:0)
Firebase官方文档说,如果限制值小于数据库中的项目数,那么它将读取数据库中的所有项目。我猜很清楚。
limitToLast(limit)返回firebase.database.Query
生成一个新的Query对象,该对象仅限于最后一个特定的 孩子。
limitToLast()方法用于设置最大子项数 为同一回调同步。如果我们设置限制为100,我们会 最初只能收到100个child_added事件。 如果我们少了 存储在我们数据库中的100条消息,一个child_added事件将 为每条消息点火。但是,如果我们有超过100条消息,我们会 仅收到最近100条有序消息的child_added事件。如 项目更改,我们将收到每个项目的child_removed事件 退出活动列表,以使总数保持在100。
答案 1 :(得分:0)
由于您在将值设置为15时获得了最后15位数字,因此将mTest = matrix(c(T,T,T,NA,F,T,NA,NA,F),nrow=3,ncol=3) # "1≠all 2≠3"
row.names(mTest) <- c(2,3,4) ; colnames(mTest) <- c(1,2,3)
mTest[] = c(T,F,T,NA,F,T,NA,NA,F) # "1≠2 1,2≠4"
mTest[] = c(T,T,T,NA,T,F,NA,NA,T) # "1,3≠all"
值更改为limitToLast
以获取最后一个Firebase值。
将您的代码更改为以下代码段。
-1