Java Android Firebase检查数据是否等于字符串

Java Android Firebase检查数据是否等于字符串,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我正在使用firebase将信息存储到数据库中以存储收藏夹。我基本上有一个列表视图,当你点击一个项目时,它会带你去一个新的活动。我希望能够检查活动的项是否等于数据库中的项名称,它将更改按钮文本。我的树看起来像这样 -用户标识: --“收藏夹”: ---“ItemName”:{name:value} 如何检查我单击的活动的项目名称是否等于数据库中的项目名称?我有下面的代码,但它不工作 private void checkifFavExist() { FirebaseDatabase fir

我正在使用firebase将信息存储到数据库中以存储收藏夹。我基本上有一个列表视图,当你点击一个项目时,它会带你去一个新的活动。我希望能够检查活动的项是否等于数据库中的项名称,它将更改按钮文本。我的树看起来像这样

-用户标识:

--“收藏夹”:

---“ItemName”:{name:value}

如何检查我单击的活动的项目名称是否等于数据库中的项目名称?我有下面的代码,但它不工作

private void checkifFavExist() {
    FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();
    DatabaseReference myRef = firebaseDatabase.getReference(firebaseAuth.getCurrentUser().getUid());
   if ((myRef.child("Favorites").child(itemName.toLowerCase())).equals(itemName.toLowerCase())) {
        button_fav.setText("Remove From Favorites");
        removefavs();
    } else {
        button_fav.setText("Add to Favorites");
        addfavs();
    }
}
更改此项:

 if ((myRef.child("Favorites").child(itemName.toLowerCase())).equals(itemName.toLowerCase())) {
为此:

FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();
DatabaseReference myRef = firebaseDatabase.getReference(firebaseAuth.getCurrentUser().getUid());
Query queries=myRef.child("ItemName").orderByChild("name").equals(itemName);
您需要使用
orderByChild(“name”).equals(itemName)
检查数据库中的子项是否具有该值。此外,
子项(此处为child)
需要与数据库中的名称相同


更多信息

谢谢,我不得不添加一个值事件侦听器,但它起了作用