【发布时间】:2017-11-30 08:55:52
【问题描述】:
我正在寻找一种在我的 Firebase 应用程序中实现简单列表视图滚动的方法,但我没有找到任何方法来实现这一点。我已经尝试了 Internet 上提供的 2-3 个教程和文档,但没有达到所需的结果。
在我的应用程序中,我希望在开始加载前 10 个列表项时滚动,然后每次滚动时加载下一个 10 或 20 个项目,直到最后一个项目出现在列表底部。
所以我尝试通过以下方式检索前 10 个项目:
ArrayList<Event> event=new ArrayList<>();
Dbref = FirebaseDatabase.getInstance().getReference("/event");
Dbref.startAt(1).limitToLast(10).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
Log.e("Events.java ", "range query started! : " + dataSnapshot.getChildrenCount());
String event_id = snapshot.child("details").child("event_id").getValue().toString();
e=new Event(event_id); //Event is a model class for list items
event.add(e);
Log.e("ShowEventInfo : ", "" + event_id);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
adapter=new Event_CustomAdapter(getActivity(),event);
ls.setAdapter(adapter); //here ls is instance of ListView
我参考了这个 Youtube 视频来实现这个功能: (https://www.youtube.com/watch?annotation_id=annotation_3916642001&feature=iv&src_vid=YMJSBHAZsso&v=XwIKb_f0Y_w)
在上面的代码中,如您所见,我正在生成日志以检查是否从 firebase 获取数据,但我没有输出 Android 监视器。
我不知道如何在我的列表视图中实现 Firebase 滚动。我认为对于那些在回收站视图/列表视图中实现无限滚动的人来说,这是一个常见的问题。
你能帮我实现这个功能吗?谢谢。
【问题讨论】:
-
不,不是,您提到的链接正在解释拉动刷新时的更新数据,但我想在滚动时更新我的列表视图,所以现在请您删除重复的标签,因为我非常需要答案这个问题的。 @RavindraKushwaha
-
请检查我的问题和他们的答案..你会不忠摆脱这个问题..他们在我的问题和 urs 中没有区别......在列表/recyclview 的 scoll 上你需要调用它为我们带来更多数据的功能..
-
实际上我已经浏览了你的链接,然后才在这里发布这个问题,但我觉得它没有用,但如果你想帮忙,你能告诉我如何在 listview onScrollListener 中使用你的方法我想要什么
-
我肯定会在一段时间后给出你的问题的答案。但我主要担心的是你并没有试图从那个代码中理解......同样的解决方案适用于你......所以请尝试一下..如果你不会得到任何东西..我会准备好帮助你......我是来帮助你的......不是为了将任何问题标记为重复:P
-
嘿,我以相同的方式获得列表视图,滚动时有 10 项,但每次都重复最后一项(第 10 项)。你能帮我解决这个问题吗?
标签: android listview firebase firebase-realtime-database infinite-scroll