Android FIrebase-按值查询不起作用

时间:2017-09-28 11:08:56

标签: android firebase firebase-realtime-database

我试图通过用户的唯一ID来查询事件,但它不会返回任何内容。这是我的查询代码:

Query events = mDatabaseEvents.orderByValue().equalTo("user1");

这是我的Firebase数据库结构:

events: {
  -event1: {
  1: user1,
  2: user2,
  3: user3,
},
  -event2: {
  1: user4,
  2: user5,
  3: user1,
},

我认为它无法正常工作,因为数据是通过散列图设置的,因此“user1”可能并不总是在每个事件的同一位置。我该如何解决这个问题呢?感谢

1 个答案:

答案 0 :(得分:0)

您需要添加“addValueEventListener”才能实际获取数据。以下是“orderByKey”的示例,我认为几乎没有变化:

Query query = locationComment.orderByKey();
query.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        if (dataSnapshot.getValue() == null) {
            return;
        }
        data.clear();
        for (DataSnapshot child : dataSnapshot.getChildren()) {
            ...
        }
        adapter.notifyDataSetChanged();
    }

您可以在此处查看更多信息:https://stackoverflow.com/a/42430304/5309996