2010-08-17 3 views
1

У меня есть 2 виджета EditText, один берет имя пользователя и другое принимает пароль. Когда пользователь вводит имя пользователя в First EditText, текст должен быть проверен (он должен принимать только символы без цифр), когда основное внимание уделяется первому EditText. Как достичь этого. В редакторе EditText должно отображаться сообщение об ошибке с использованием метода setError(), когда пользователь вводит неверные данные.Проверка содержимого EditText, как только пользователь вводит данные

ответ

0

Прикрепите KeyListener к EditText.

На мероприятии onKey подтвердите это поле.

Это поймает каждый символ, который пользователь вводит и проверяет. Когда EditText изменяется, андроид очищает ошибку, поэтому сообщение об ошибке не будет отображаться, если запись действительна и если она недействительна, установите ошибку (Username.setError («Ошибка»)), чтобы сообщение об ошибке во время показа/остаются.

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

+0

Некоторые слова предостережения с этим методом, из документации setOnKeyListener: Зарегистрируйте обратный вызов, который будет вызываться при нажатии на аппаратный ключ в этом представлении. Нажатие клавиш в методах ввода программного обеспечения, как правило, не вызывает методы этого слушателя. – MigDus

1

Вот ваше решение

user= (EditText) findViewById(R.id.editText_userName); 
      user.addTextChangedListener(new TextWatcher(){ 

       @Override 
       public void afterTextChanged(Editable arg0) { 
        if (!start.getText().toString().matches("[a-z]") || start.getText().toString() == null) { 
         start.setError("Letters Only"); 
        } 
       } 

       @Override 
       public void beforeTextChanged(CharSequence arg0, int arg1, 
         int arg2, int arg3) {} 

       @Override 
       public void onTextChanged(CharSequence arg0, int arg1, 
         int arg2, int arg3) {} 

      }); 

реализовать то же самое для пароля, используя ваш любой образец соответствия вашего выбора. Надеюсь, это поможет.

Смежные вопросы