Сценарий: когда фокус потерян из EditText, я проверяю, содержит ли он значение null (в первом блоке if).
Если это так, то я покажу тост.
В блоке else-if я проверяю, не содержит ли EditText буквы.
Затем я покажу тост, но когда я запустил приложение, тост отображается даже на правильном входе.
I.e .: Если я ввешу какую-либо букву, Toast не должен отображаться, она должна отображаться только при вводе нулевого или цифрового символа.if-else блок не работает должным образом в android
Вот код
et1.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
if(!hasFocus)
{
a = et1.getText().toString();
if (a.equals(""))
{
Toast.makeText(getApplicationContext(), "Your entry is incorrect!!", Toast.LENGTH_LONG).show();
}
else if (!a.contains("[a-z]")||!a.contains("[A-Z]")) {
Toast.makeText(getApplicationContext(), "Your entry is incorrect!!", Toast.LENGTH_LONG).show();
}
else
{
}
Пожалуйста, помогите
возможно дубликат [? Как сравнить строки в Java] (http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java) – njzk2
Не понимаю, разве вы не читали документацию для 'contains'? – njzk2