Firebase"无法将java.util.HashMap类型的值转换为int"

Ab_*_*Ab_ 2 android firebase firebase-realtime-database

在我的OnDataChange()方法中的这行代码中ValueEvenListener:

int latest = dataSnapshot.getValue(Integer.class);
Run Code Online (Sandbox Code Playgroud)

我得到了一个DatabaseException错误Failed to convert a value of type java.util.HashMap to int.

但是,在我的数据库中,您可以查看下面的图像:

在此输入图像描述

这显然不是一个HashMap而是一个int.这是一个错误还是我做错了什么?我该怎么办才能修复它?为什么Hashmap在值为何时检索int

完整数据快照:

final DatabaseReference database = FirebaseDatabase.getInstance().getReference();
        database.child("Campaigns").child(key).child("count");
        database.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                int latest = dataSnapshot.getValue(Integer.class);
                button.setText(latest + "");
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {
                Toast.makeText(context, context.getString(R.string.error) + ": " + databaseError.getMessage(), Toast.LENGTH_SHORT).show();
            }
        });
Run Code Online (Sandbox Code Playgroud)

数据库:

Campaigns:{
  -JDKKDJIIDJFIDJKDK:{
      count:2432
   }
}
Run Code Online (Sandbox Code Playgroud)

Ab_*_*Ab_ 6

事实证明我必须再次将子dataSnapshot发送到我的目的地.例如:

int latest = dataSnapshot.child("Campaigns").child(key).child("count").getValue(Integer.class);
Run Code Online (Sandbox Code Playgroud)

默认情况下dataSnapshot是我的整个数据库.