我有两个编辑文本,当我在另一个中设置输入时,我想禁用其中一个。我使用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);
   //...
}

07-24 09:37
查看更多