我试图从通知子项中获取通知计数。另一个孩子有一个随机密钥(我不知道),其中有一个userKey
值。
我想要使用orderByChild("userKey")
并获取所有通知,但不知道如何执行此操作。我已经尝试过寻找解决方案,但我找不到解决方案。
我已经尝试了这个,但它没有工作:
db.child("Notifications").orderByChild("userKey").equalTo(intent.getStringExtra("key")).addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
indicator.setText(String.valueOf(dataSnapshot.getChildrenCount()));
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
我感谢任何帮助!
答案 0 :(得分:1)
只要向节点添加新通知,您的解决方案就会起作用。如果您想第一次阅读通知,则应使用SingleValueEventListener
db.child("Notifications").orderByChild("userKey").equalTo(intent.getStringExtra("key")).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
indicator.setText(String.valueOf(dataSnapshot.getChildrenCount()));
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
答案 1 :(得分:0)