web-dev-qa-db-fra.com

Obtenir une chaîne d'editext

login.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            if( username_text.getText().toString() == "admin" &&
                    pass_text.getText().toString() == "password"){

                startActivityForResult(i, ACTIVITY_CREATE);

            }else{
                Toast.makeText(gps_gui.this, "Your username or password is not correct! Please, insert again",
                        Toast.LENGTH_SHORT).show();
                clearEditText();
            }
        }

    });

J'essaie de vérifier cela, j'ai trouvé que cela ne va pas si condition.

15
Yoo

Lorsque vous utilisez Java, vous devez comparer des chaînes à l'aide de la méthode String.equales (String). La comparaison == vérifie si les valeurs d'objet de chaîne sont égales, ce qui ne leur est sans aucun doute. Essayez de vous changer d'exemple à:

"admin".equals(username_text.getText().toString()) &&"password".equals(pass_text.getText().toString())

Il est également intelligent de mettre la chaîne statique en premier, au cas où la valeur de chaîne de la valeur vérifiée est null.

29
Nick Campion

Utilisez la méthode Equals () de classe de chaîne pour comparer les chaînes. Les liens suivants vous donneraient plus de détails.

à propos de la méthode d'égal (Object Yourobj) (sensible à la casse

equalsignorecase (chaîne YourStringObject) peut être utilisée si vous voulez que ce ne soit pas sensible à la casse!

3
msumaithri