我有两个编辑文本,当我在另一个中设置输入时,我想禁用其中一个。我使用TextWatcher如下所示:
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;
}
}
但是当我清除我正在使用的编辑文本时,另一个仍然禁用。
如果我清除第一个,我如何设置它启用。
最佳答案
使用EditText
方法检查isEmpty()
值是否为空,像这样尝试
if(firstEditText.getText().toString().isEmpty()) {
secondEditText.setEnabled(true);
//...
} else {
secondEditText.setEnabled(false);
//...
}