Получить строку из 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) можно использовать, если вы хотите, чтобы он не чувствителен к регистру!