我有两个编辑文本,我想在另一个中设置输入时禁用其中一个。我使用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;
}
}
但是当我清除我正在使用的编辑文本时,另一个仍然禁用。 如果我清除了第一个,我怎么设置它。
答案 0 :(得分:1)
使用EditText
方法检查isEmpty()
值是否为空,请按此尝试
if(firstEditText.getText().toString().isEmpty()) {
secondEditText.setEnabled(true);
//...
} else {
secondEditText.setEnabled(false);
//...
}
答案 1 :(得分:0)
尝试添加:
edittext.setFocusable(false);
edittext.setEnabled(false);
edittext.setClickable(false);