我有一个预定义的List<String>
。现在,在我的应用程序中,我从Firebase数据库中检索了数据。通常我用:
DatabaseReference reference = FirebaseDatabase.getInstance().getReference();
Query query = reference.child("Users").orderByChild("id").equalTo("string");
但是,对于更多内容,我想从List<String>
中过滤数据。那么这可能像下面的查询吗?
Query query = reference.child("Users").orderByChild("id").equalTo(***String_exists_in_predefined_list***);
答案 0 :(得分:1)
所以这可能像下面的查询一样?
否,不可能。您不能将字符串列表作为第二个参数传递给equalTo()
方法,因为没有这样的方法可以接受。您需要遍历列表,并为每个元素创建一个查询,然后合并结果客户端。
编辑:
您需要遍历列表并为每个元素创建一个查询:
for(String element : list) {
Query query = reference.child("Users").orderByChild("id").equalTo(element);
}
答案 1 :(得分:0)
从oncreate的预定义列表中获取字符串。在查询中调用该方法,并携带该字符串并在其中使用它。
内部oncreate
String fromlist = [retrieve here];
queryData(fromlist);