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

时间:2018-04-15 15:40:00

标签: android firebase firebase-realtime-database

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

-userid:

- "收藏":

---" 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();
    }
}

1 个答案:

答案 0 :(得分:1)

改变这个:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim D3 As Range
    Set D3 = Range("D3")
    If Intersect(Target, D3) Is Nothing Then Exit Sub
    If Target.Count <> 1 Then Exit Sub
    Application.EnableEvents = False
        With D3
            If .Value = "o" Then
                .Value = "off"
                .Font.Color = 255
            ElseIf .Value = "t" Then
                .Value = "training"
                .Font.Color = 5287936
            End If
        End With
    Application.EnableEvents = True
End Sub

对此:

 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)必须与数据库中的名称相同。

更多信息here