我有两个微调器,一个带有类别,另一个带有从2个不同的火焰库集合加载其信息动作的物品。
我想为微调器创建一个查询,其中的项目仅显示与相关类别对应的项目
我做了这个
db.collection("List Items").get().addOnSuccessListener { snapshot ->
for (document in snapshot.documents) {
val data = document.data
val subCategories = data["itemName"] as String
itemSpinnerArray.add(subCategories)
}
if (categorySpinnerArray.contains("Weights")) {
itemSpinnerArray.add(query.toString())
}
spinnerArrayAdapter.notifyDataSetChanged()
}
并且vars是
private var db = FirebaseFirestore.getInstance()
var weightCategory = db.collection("List Items")
var query = weightCategory.whereEqualTo("categoryId", "0")
但它没有工作
请问有人帮我吗?
这就是我的数据库设置方式
创建Log以查看结果后,我得到了这个
02-08 15:12:30.996 3003-3003 / com.reecreate.woderator2 D / TAG:结果[Barbell,Deadlift Barbell,Climbing Rope,Plyo Box,Bumper Plate,Dumbbell,Kettlebell,Sandbag,3kg,5kg ,6公斤,体操环]
我想要传递的问题类别是权重,因此如您所见,某些项目没有权重。基本上,它不会过滤任何东西
答案 0 :(得分:0)
您将类别存储为数字,但是将其作为字符串查询。这意味着价值永远不会匹配。要解决此问题,请将一个数字传递给查询:
var query = weightCategory.whereEqualTo("categoryId", 0)