gpt4 book ai didi

java - 如何增加 Firebase 查询中 "limitToFirst"的限制?

转载 作者:行者123 更新时间:2023-12-02 04:33:16 25 4
gpt4 key购买 nike

大家好,我从 recyclerview 中的 firebase 获取了数据。为了更好地理解我的问题,请访问我之前的问题。 How do i add the show more functionality to getting firebase database?

这是我之前的问题。为此我发现了一些逻辑(可能是错误的)。如果我设置查询,

Query sortPost=PostRef.orderByChild("count").limitToFirst(firstTenPost);

我设置 Scrolllistner 来检测滚动到达底部

postList.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);firstTwoPost=2;
Toast.makeText(MainActivity.this, "Last", Toast.LENGTH_LONG).show();

//So here i want to add +10 items with show more in recyclerview
}
}
});

最佳答案

根据您的要求,您不需要增加 limitOfFirst() 的限制。

您应该尝试使用 startAt() 方法。请参阅下面的代码以更好地理解。

首次加载时:

代码应该是,

Query sortPost=PostRef.orderByChild("count").limitToFirst(firstTenPost);

并根据此查询的响应,使用迭代器从子记录中查找最后一个键。

您可以使用下面的循环从响应快照中获取最后一个键,

for(DataSnapshot childSnap : dataSnapshot.getChindren()){
lastKey = childSnap.getKey();
}

并且在加载更多时使用下面的查询,

String lastKey = "Last Fetched Key From Earlier Response";
Query sortPost=PostRef.orderByChild("count").startAt(lastKey).limitToFirst(firstTenPost);

响应此查询后,用最后获取的记录 key 更新 lastKey 变量。

注意:在 loadmore 响应中,您应该每次都跳过第一个值,以避免对象重复。

关于java - 如何增加 Firebase 查询中 "limitToFirst"的限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56566182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com