ValueEventListener の Firebase ref から最初の子アイテムを取得しようとしています。次のようにリスナーを設定すると、正しい数の子が出力されます。
ref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Log.d(TAG, String.valueOf(dataSnapshot.getChildrenCount()));
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
次のいずれかを行う場合:
ref.orderByPriority().limitToFirst(1)
ref.startAt().limit(1)
最初の子を取得しません。取得する子はゼロで、返される DataSnapshot は null です。
私は何を間違っているのでしょうか?
更新、gradle importcompile 'com.firebase:firebase-client-android:1.+
を compileに変更しましたcom.firebase:firebase-client-android:1.1.1+
。プルダウンしていた SDK のバージョンに関係なく、バグだったに違いありません。