0

Hy, I'm trying to get item from firebase. I have a setter and a getter that I set true or false depending on whether the variables are equal or not. The getter return me always false even if the variables are the same. This is my content in my database:

enter image description here

This are getter and setter:

public boolean getSaved() {
        return isSaved;
}

public void setSaved(boolean saved) {
        isSaved = saved;
}

This is the function where a I get data from database:

public void RegisterUser(final Data data, final Context c, final int position){

        final ArrayList<String> Creator = new ArrayList<>(9);

        final Registrazione reg = new Registrazione();


        databaseReference.child("Torneo").addListenerForSingleValueEvent(new ValueEventListener() {
            int i=0;
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                for(DataSnapshot DS: dataSnapshot.getChildren()){

                    if(i<= position){
                       Creator.add(i, DS.child("nameCreator").getValue(String.class));
                      i++;
                    }
                }

                Log.d("prova", Creator.get(position));
                if (Creator.get(position) == "jj") {
                    reg.setSaved(false);
                } else {
                    reg.setSaved(true);
                }
            }
            @Override
            public void onCancelled(DatabaseError databaseError) {
            }
        });


    }

And this is the control:

if (reg.getSaved()) {
    Toast.makeText(c, "registration successful", Toast.LENGTH_LONG).show();
}else{
  Toast.makeText(c, "You are already registered", Toast.LENGTH_LONG).show();
}

Thanks for the answers.

1 Answers1

2

In Java, you need to use:

if (Creator.get(position).equals("jj"))

Not:

if (Creator.get(position) == "jj")
Yunus Kulyyev
  • 1,022
  • 15
  • 26