Получить строку из EditText

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();
            }
        }

    });

Я пытаюсь проверить его, я обнаружил, что он не подходит к условию.

Ответы

Ответ 1

При использовании java вы должны сравнивать строки с использованием метода String.equals(String). Сравнение == проверяет, равны ли значения объекта String, что, несомненно, они не являются. Попробуйте изменить пример:

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

Он также умный, чтобы сначала поставить статическую строку, если значение строки проверяемого значения равно null.

Ответ 2

Используйте метод equals() класса String для сравнения строк. Следующие ссылки предоставят вам более подробную информацию.

Метод equals (Object yourObj) (чувствительный к CASE)

equalsIgnoreCase (String yourStringObject) можно использовать, если вы хотите, чтобы он не чувствителен к регистру!