Я добавил OnFocusChangeListener к моему EditText так, что я могу сделать некоторые проверки на значение, когда пользователь щелкает на улице, или вкладки из-за, по мнению EditText:onFocusChange() действует как TextChanged()
EditText myEditText = (EditText) itemView.findViewById(R.id.myedittext);
myEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean hasFocus) {
EditText editText = (EditText)view;
if (!hasFocus) {
validate(editText.getText().toString());
}
}
}
Однако, похоже, метод onFocusChange() вызывается как метод textChanged(). Он вызывается каждый раз, когда я ввожу что-либо в текстовое поле. Я пробовал это как на симуляторе 2.2, так и на своем собственном аппаратном устройстве, и они действуют одинаково.
Я был бы признателен за понимание того, как работает OnFocusChangeListener и почему он работает так, как он для меня.
Заранее спасибо.