在我的 Android 应用程序中,我有一个日历。当我单击一个日期时,我只想显示该选定日期的项目。换句话说,从适配器中过滤掉所有其他项目RecyclerView,只显示所选日期的项目。
目前,当活动打开时,它只显示所有项目:
Query query = FirebaseDatabase.getInstance().getReference().child(FB_SUBJECTS).child(FB_PACKS)
PagedList.Config config = new PagedList.Config.Builder()
.setEnablePlaceholders(false)
.setPrefetchDistance(5)
.setPageSize(10)
.build();
//Initialize FirebasePagingOptions
DatabasePagingOptions<FB_Model> options;
options = new DatabasePagingOptions.Builder<FB_Model>()
.setLifecycleOwner(this)
.setQuery(query, config, snapshot -> {
FB_Model model = snapshot.child(FB_PROFILE).getValue(FB_Model.class);
addMarkerToCalendarView(getMilliFromDate(model.getstart_date()));
return model;
})
.build();
这将返回 处的所有项目subjects/packs。然后从这个查询中,我得到一些数据<userId>/profile/,比如start_date和end_date,例如subject/packs/001/profile/start_date
以下是start_date和的一些示例数据end_date:
end_date; "05-04-2019"
start_date: "01-04-2019"
所以,我的问题是我想过滤这些项目,但我正在使用,FirebaseRecyclerPagingAdapter但一次只能拉下一定数量的项目,例如 20。所以我不能将所有结果存储在一个大列表中并过滤它们容易地。所以我依赖于 Firebase 的一些内置功能。
是否有可能改变我Query来实现这一目标?我知道有一个startAt()andendAt()但不确定它们是否适合FirebaseRecyclerPagingAdapter。
所以我真正需要的是 SELECT * from profiles where startDate = x and endDate = y;
Android 上的实时数据库可能吗?
跃然一笑
相关分类