получить строку из 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();
}
}
});
Я пытаюсь проверить его, я обнаружил, что он не переходит в состояние if.
2 ответов
при использовании java вы должны сравнить строки, используя строку.метод Equals(string) метод. Сравнение == проверяет, равны ли значения объекта String, что, несомненно, не так. Попробуйте изменить пример на:
"admin".equals(username_text.getText().toString()) &&"password".equals(pass_text.getText().toString())
его также умно поставить статическую строку первой, если строковое значение проверяемого значения равно null.
используйте метод equals() класса String для сравнения строк. Следующие ссылки дадут вам более подробную информацию.
о equals (объект yourObj) метод (с учетом регистра)
equalsIgnoreCase (строка yourStringObject) можно использовать, если вы хотите, чтобы он не учитывал регистр!