I'm trying to make a method which returns int variable, but the method doesn't effect the variable.
This is my code:
int count;
public int getVotesForEvent(final String event_title) {
    firebaseRef.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            if (dataSnapshot.child("Votes").exists()) {
                boolean flag = false;
                for (DataSnapshot event : dataSnapshot.child("Votes").getChildren()) {
                    String event_title2 = event.getKey();
                    if (event_title2.equals(event_title)) {
                        flag = true;
                        Toast.makeText(EventInfo.this, ""+Integer.parseInt(event.child("event_votes").getValue().toString()), Toast.LENGTH_SHORT).show();
                        count = Integer.parseInt(event.child("event_votes").getValue().toString());
                    }
                }
                if (flag != true) {
                    count = 0;
                }
            }
            else {
                count = 0;
            }
        }
    });
    return count;
}
The problem is that the line:
count = Integer.parseInt(event.child("event_votes").getValue().toString());
This line is not effecting the variable count.
What am I doing wrong here?
 
    