2013-05-09 2 views
0

У меня есть сценарий, как на картинке ниже:Проверка правильности текста в android?

enter image description here

Если пользователь ничего Логин или Email поле не пишите, он будет отображаться знак вопроса. С другой стороны, он будет показывать перекрестную метку. Как достичь этого ???

+0

Вы хотите очистить все и также проверку? –

+0

для очистки всего, что вам нужно для создания пользовательского элемента управления –

+0

Нет, я не хочу очищать все, кроме как играть с одним полем. – androidcodehunter

ответ

1
etUsername.addTextChangedListener(mTextWatcher); 

etUsername.setOnTouchListener(new MyOnTouchListener(etUsername)); 

TextWatcher: показать или скрыть кнопку четкий путем ввода пользователя

private TextWatcher mTextWatcher = new TextWatcher() { 

    boolean isnull = true; 

    @Override 
    public void onTextChanged(CharSequence s, int start, int before, int count) { 
    } 

    @Override 
    public void beforeTextChanged(CharSequence s, int start, int count, 
      int after) { 
    } 

    @Override 
    public void afterTextChanged(Editable s) { 
     if(TextUtils.isEmpty(s)){ 
      if(!isnull){ 
       etUsername.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null); 
       isnull = true; 
      } 
     }else{ 
      if(isnull){ 
       etUsername.setCompoundDrawablesWithIntrinsicBounds(null, null, mClearIcon, null); 
       isnull = false; 
      } 
     } 
    } 

MyOnTouchListener: ясный щелчок кнопки слушатель

class MyOnTouchListener implements OnTouchListener{ 

    EditText mEditText; 

    public MyOnTouchListener(EditText editText){ 
     this.mEditText = editText; 
    } 

    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     switch(event.getAction()){ 
     case MotionEvent.ACTION_UP: 
      int curX = (int)event.getX(); 
      if(curX > v.getWidth() - 60 
        && !TextUtils.isEmpty(mEditText.getText())){ 
    // the clear button was clicked,do something you need 
    // for example, show the hint msg,etc 
       return true; 
      } 
      break; 
     } 
     return false; 
    } 

вы можете использовать код выше, чтобы сделать пользовательский просмотр

+0

Как получить ресурс mClearIcon. Пожалуйста, помогите мне. – androidcodehunter

+0

см. Метод 'setCompoundDrawablesWithIntrinsicBounds',' mClearIcon' является 'Drawable' – tesla1984

+0

. Работа прекрасна, спасибо за вашу помощь. – androidcodehunter

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