Android上的Firebase,query.addListenerForSingleValueEvent甚至不会调用ValueEventListener

时间:2016-07-11 14:52:02

标签: android firebase firebase-realtime-database

我想获取一堆满足简单过滤器的对象,但我的ValueEventListener甚至不会被调用一次。

我的对象是这样的:

trips/
  some-id-1/{creator="abc", other_field...}
  some-id-2/{creator="def" ...}
  ...

在一个活动的onResume方法中,应用程序显示一个进度对话框并获取一些对象,然后在获取对象时隐藏进度对话框

在onResume中,我这样做:

Query query  = mDatabaseReference.child("trips")
            .orderByChild("creator")
            .equalTo("xxx");

Log.d(TAG, "before fetch");
fetch(query);
Log.d(TAG, "after fetch");

fetch具有以下实现:

fetch(Query query) {
  ValueEventListener valueEventListener = new ValueEventListener() {
      @Override
      public void onDataChange(DataSnapshot dataSnapshot) {
          Log.i("data changed...")
          // hide the progress dialog...
      }

      @Override
      public void onCancelled(DatabaseError databaseError) {
          Log.i("cancelled...")
          // hide the progress dialog...
      }
  };
  query.addListenerForSingleValueEvent(valueEventListener);
}

"在获取"之前和#34;取得"记录,没有"数据已更改"或"取消......"记录,因此不会触发ValueEventListener。我从不打电话给goOffline方法,我的手机肯定有网络。在我的情况下,ValueEventListener没有触发的任何原因?

0 个答案:

没有答案