Try to use this:
Button btnCheckUsername = (Button) findViewById(R.id.btnLogin);
EditText et = (EditText) findViewById(R.id.editTextUsername);
et.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
if (charSequence.length() < 4)
{
btnCheckUsername.setEnabled(false);
} else
{
btnCheckUsername.setEnabled(true);
}
}
@Override
public void afterTextChanged(Editable editable) {
}
});
For EditTextPreferences this may help you :)