Целью здесь является проверка каждого поля, когда пользователь вводит контактную информацию и в конечном итоге применяет автоматический формат (заглавные буквы, написание и т. Д.) Для каждого поля.как выполнить проверку в текстовых полях
У меня это почти работает с использованием следующего кода, но оно основано на обратном вызове нажатия клавиши, и я действительно хочу включить функцию «потеря фокуса» для каждого текстового поля. Есть идеи?
public TextFormValidationCallback (CustomerFormActivity faja, String editTextName, Context context, EditText textField,
Button button, int rule) {
this.button = button;
this.textField = textField;
this.context = context;
this.ruleResourceId = rule;
this.editTextName = editTextName;
this.faja = faja;
this.res = context.getResources();
}
public boolean onEditorAction(TextView v, int keyCode, KeyEvent event) {
if (event != null) {
// If the event is a key-down event on the "enter" button
if ((event.getAction() == KeyEvent.ACTION_DOWN)
&& (keyCode == KeyEvent.KEYCODE_ENTER)) {
// Perform action on key press
Log.i("TextFormValidation",
"TextFormValidation callback activated!");
if (validateTextFieldNotNullData(this.textField)
&& (validateTextFieldFormat(this.textField,
ruleResourceId))) {
faja.setFieldValidationArray(getHeadingIndex(editTextName),
true);
if (faja.sumFieldValidations()) {
button.setClickable(true);
button.setText(R.string.addCustomer);
}
} else {
button.setText(R.string.next);
button.setClickable(false);
}
return true;
}
} else {
}
return false;
}
пытаются SetFocus() на любой другой элемент управления в вашем случае щелчка. –
Вы пробовали View.setOnFocusChangeListener()? – gngr44