2013-11-15 3 views
0

Я делаю проверку для двух полей EditText editNumber1 и editNumber2. Я пытаюсь показать, выполняется ли проверка. Я не могу отобразить эту ошибку и сбой приложения. вот пример кода, который может предложить любой?EditText Validation setError не работает, получает сбой

 
if ((editNumber1.getText().length() == 0) || (editNumber1.getText().toString() == " ") || 
    (editNumber2.getText().length() == 0) || (editNumber2.getText().toString() == " ")) 
{  
    editNumber1.setFocusableInTouchMode(true); 
    editNumber1.requestFocus();   
    editNumber1.setError("Some inputs are empty"); 
} 
+1

Прежде всего String.equals использования (OtherString) для сравнения строк. Какая ошибка? можете ли вы опубликовать его? –

+3

этот код (editNumber1.getText(). ToString() == "") не означает, что edittext пуст, а это editNumber1.getText(). ToString() == "") нет пробела между цитатами. – Coderji

+0

Я предполагаю, что эта строка «editNumber1.requestFocus();» есть ошибка. удалите текст оператора if и поставьте Toast и повторите попытку. – javadaskari

ответ

0

Елки всех использовать эти хорошие утилиты StringUtils.isNotBlank(string_to_compare); этого метода возврат false если string_to_compare является:

  • нуля,
  • пустой (""),
  • пустых (» ")

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

editNumber1.setFocusableInTouchMode(true); 
editNumber1.requestFocus();   
editNumber1.setError("Some inputs are empty"); 
Смежные вопросы