firebaseクエリから子カウントを取得するにはどうすればよいですか。たとえば、私が10子を持つデータベースクエリを使用しているとしたら、onChildChangedを使用し、スナップショットから値を取得しようとしたが、その値を取得する方法はありますが、うまくいきません。これは、最初に番号を取得してから継続的に同期する必要があるため、再度照会しますが、2番目の照会で実際の子変更がないため、元の正しい値を置き換えるゼロの値を返します。 :/Firebaseの子カウントの取得
databaseReference.child("PrinterView").child(uni).child(phone).orderByChild("done").equalTo("No").addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Toast.makeText(getActivity(),"Number:"+String.valueOf(dataSnapshot.getChildrenCount()),Toast.LENGTH_LONG).show();
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
両方
databaseReference.child("PrinterView").child(uni).child(phone).orderByChild("done").equalTo("No").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Toast.makeText(getActivity(),"Number:"+String.valueOf(dataSnapshot.getChildrenCount()),Toast.LENGTH_LONG).show();
Vendor_view_Home_fragment.printIndicator.setText(String.valueOf(dataSnapshot.getChildrenCount()));
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
いくつかのコードを教えてください。 –
https://stackoverflow.com/a/37601712/5065318この回答を参照して、ご意見があれば教えてください。基本的に子供の中にあなたは子供のカウントを取得する必要があります。 –
あなたとあなたのデータベース構造を共有してください。子変更の –