我想使用多个过滤器,例如 SELECT * table_name WHERE age=20 && country = UK && weight=60
在 Firebase 数据库中。
我的代码:
private void loadListFood(String catagoryId) {
adapter=new FirebaseRecyclerAdapter<Food, FoodViewHolder>(Food.class,
R.layout.food_item,
FoodViewHolder.class,
foodList.orderByChild("menuId").equalTo(catagoryId)
) {
@Override
protected void populateViewHolder(FoodViewHolder foodViewHolder, Food food, int i) {
foodViewHolder.food_name.setText(food.getName());
Picasso.with(getBaseContext()).load(food.getImage())
.into(foodViewHolder.food_image);
final Food local=food;
foodViewHolder.setItemClickListener(new ItemClickListner() {
@Override
public void onClick(View view, int position, boolean isLongClick) {
//Toast.makeText(FoodList.this, ""+local.getName(), Toast.LENGTH_SHORT).show();
Intent foodDetail = new Intent(FoodList.this,FoodDetail.class);
String FoodID=adapter.getRef(position).getKey().toString();
foodDetail.putExtra("FoodId",FoodID);
startActivity(foodDetail);
}
});
}
};
recyclerView.setAdapter(adapter);
}
所以我想从 firebase 数据库加载 menuID = CategoryID 和 status==available 项目到 recyclerview
最佳答案
在实时数据库中,不能使用AND
查询。相反,您可以将这些属性合并为一个属性:
Users
randomId
age :20
country: UK
weight : 60
age_country_weight : 20_UK_60
然后你可以这样做:
foodList.orderByChild("age_country_weight").equalTo("20_UK_60")
关于java - 如何在带有 firebase 的 android studio 中使用多个过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61207736/