我的Firebase实时数据库中有一个“帖子”点头。这些帖子之一的结构如下:
在我的主要活动中,我有一个Firebase回收器适配器,该适配器可检索“职位”点头内的每个孩子并将其显示在回收器视图中。我还进行了一个活动,用户可以过滤主活动中显示的帖子。问题是,我该如何仅检索那些在特定子项中具有特定过滤值的帖子。例如,如果用户只想查看具有“芬兰”国家(地区)值和“ Iitti”(城市)值的帖子,我将仅显示具有这两个值的帖子。我想这可以通过查询来完成,但是我不知道怎么办,因为您不能多次设置orderByChild()。equalTo()。
我使用intent.put()从过滤活动中发送所需的值,并在主活动中以字符串格式检索它们,如下所示:
Intent previousIntent = getIntent();
if(previousIntent.hasExtra("activityName") && previousIntent.getStringExtra("activityName").equals("FilterFeed"))
{
queryManufact = previousIntent.getStringExtra("manufact");
queryModel = previousIntent.getStringExtra("model");
queryCountry = previousIntent.getStringExtra("country");
queryCity = previousIntent.getStringExtra("city");
}
在此之后,我可能会图像,我将不得不基于这些值进行查询并将其设置为Firebase回收器适配器的查询。有办法吗?