-1
DatabaseReference nume_sofer = database.getReference("Rute").child("1").child("Sofer");

    nume_sofer.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            String sofer_nume = dataSnapshot.getValue(String.class);
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });

    assert user != null;
    if(Objects.equals(user.getDisplayName(), sofer_nume)) {

Sorry, is it possible to use the variable sofer_nume from onDataChange in the if statement ? Thank you! Image code

simpller
  • 317
  • 1
  • 2
  • 14
  • Please check the duplicate to see why your `sofer_nume` is `null` outside the callback and how can you solve it using a custom callback. – Alex Mamo Feb 17 '19 at 07:55

1 Answers1

1

You can declare it outside the listener's scope then initialize it inside it so you could use it down in the if statement

Edit : check this

DatabaseReference nume_sofer = database.getReference("Rute").child("1").child("Sofer");    
String sofer_nume = null;

    nume_sofer.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            sofer_nume = dataSnapshot.getValue(String.class);
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });

    assert user != null;
    if(Objects.equals(user.getDisplayName(), sofer_nume)) {
Geeky Omar
  • 44
  • 9