Ich habe die folgende ValidierungEditText Validierung läuft nur einmal
private boolean validatePin() {
String pin = pinTxt.getText().toString().trim();
if (TextUtils.isEmpty(pin) || pin.length() != 4) {
pin_layout.setError(mContext.getString(R.string.err_msg_pin));
requestFocus(pinTxt);
return false;
} else {
pin_layout.setErrorEnabled(false);
}
return true;
}
Und ich bin es auf afterTextChanged wie dieser Aufruf:
public void afterTextChanged(Editable editable) {
switch (view.getId()) {
case R.id.pinTxt:
validatePin();
break;
}
}
Was ich damit erhalten wird, dass der Fehlertext zeigt die das erste Mal fange ich an, weniger als 4 Zeichen im editText einzugeben, aber wenn ich alles lösche und wieder tippe, bekomme ich keine Fehlermeldung. Irgendwelche Ideen, wie diese Fehlermeldung jedes Mal angezeigt wird, wenn ich anfange, den editText und nicht nur das erste Mal einzugeben?
setErrorEnabled (true)? –
Was ist dein 'pin_layout'? Kannst du das bitte erklären? – himanshu1496
@TimCastelijns Ich setze es auf wahr in der wenn - nicht funktioniert. Dann habe ich versucht, es in anderen zu setzen, aber es zeigte die Fehlermeldung jedes Mal wenn ich etwas eintippte (wie es sollte, wenn es ständig wahr ist). –