У меня проблема, когда я пытаюсь подсчитать данные в базе данных Firebase.Я пытаюсь изменить это много раз, но я все еще не могу найти, как решить это.

private void setupBadge() {
String key = request.getKey();
if (key != null) {
request.child(key).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
mCartItemCount = (int) dataSnapshot.getChildrenCount();
if (textCartItemCount != null) {
if (mCartItemCount == 0) {
if (textCartItemCount.getVisibility() != View.GONE) {
textCartItemCount.setVisibility(View.GONE);
}
} else {
textCartItemCount.setText(Integer.toString(mCartItemCount) + "");
if (textCartItemCount.getVisibility() != View.VISIBLE) {
textCartItemCount.setVisibility(View.VISIBLE);
}
}
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}
Я думаю, возможно, проблема вмоя база данных, потому что я пытаюсь получить ключ.Но, скажите мне, если это что-то не так с моим кодом, потому что он все время показывает «0».