我正在使用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();
}
}
答案 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