At this line of my code in my OnDataChange() method in the ValueEvenListener:
int latest = dataSnapshot.getValue(Integer.class);
This should work if we assume that the dataSnapshot is right.
final DatabaseReference database = FirebaseDatabase.getInstance().getReference();
database = database.child("Campaigns").child(key).child("count"); // replaced
database.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
int latest = Integer.valueOf(dataSnapshot.getValue().toString()); // replaced
button.setText(latest + "");
}
@Override
public void onCancelled(DatabaseError databaseError) {
Toast.makeText(context, context.getString(R.string.error) + ": " + databaseError.getMessage(), Toast.LENGTH_SHORT).show();
}
});
Reminder : addValueEventListener will run everytime there is a change in the dataSnapshot. If you want to run it just once use addListenerForSingleValueEvent instead.