2015-10-12 2 views
1

У меня есть два редактирования текста, и я хочу, чтобы отключить один из них, когда я установил вход в other.I используется TextWatcher, как показано ниже:Android Редактирование текста отключение при использовании другого

 private class MyTextWatcher implements TextWatcher { 
    private View view; 
    public MyTextWatcher(View view) { 
     this.view=view; 
    } 

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

    } 

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

    } 

    @Override 
    public void afterTextChanged(Editable s) { 
    switch (view.getId()){ 
     case R.id.cin: 
      if(mEdCin.getText().toString()!=null){ 
      mEdPassport.setKeyListener(null); 
      mEdPassport.setFocusable(false); 
     } 
     else if(mEdCin.getText().toString()==null) { 
       mEdPassport.setFocusable(true); 
      } 
      break; 
     case R.id.passport: 

      if(mEdPassport.getText().toString()!=null){ 
      mEdCin.setKeyListener(null); 
      mEdCin.setFocusable(false); 
     } 
      break; 
    } 

    } 

но когда я очистить редактировать текст, который я использовал, а другой - отключить. как я могу установить его, если я очистил первый.

ответ

1

Проверьте, если значение EditText пуст, используя метод isEmpty(), попробовать, как этот

if(firstEditText.getText().toString().isEmpty()) { 
    secondEditText.setEnabled(true); 
    //... 
} else { 
    secondEditText.setEnabled(false);  
    //... 
} 
0

Попробуйте добавить:

edittext.setFocusable(false); 
    edittext.setEnabled(false); 
    edittext.setClickable(false); 
+0

До моего знания edittext.setEnabled (ложь); достаточно для желаемого вывода. Убедитесь, что метод afterTextChanged() вызывается, когда вы очищаете значение текста редактирования –

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