В одном из моих занятий у меня есть три EditText
и кнопка ОК. OnFocusChangeListener
настроен на все три EditText
s. Слушатель должен срабатывать каждый раз при потере фокуса.
Переключение между EditText
работает отлично. Но если пользователь нажимает кнопку OK, изменение фокуса (потеря фокуса) не происходит для EditText
, на котором пользователь сфокусировался перед нажатием кнопки.
Что не так с моим кодом?
private class MyOnFocusChangeListener implements OnFocusChangeListener {
private EditText editText;
public MyOnFocusChangeListener(final EditText editText) {
super();
this.editText = editText;
}
@Override
public void onFocusChange(final View view, final boolean isFocused) {
if (!isFocused) {
if (editText == editText1) {
// Do a calculation
} else if (editText == editText2) {
// Do another calculation
} else if (editText == editText3) {
// Do a different calculation
}
}
}
}
@Override
public void onCreate(final Bundle bundle) {
// ...
editText1.setOnFocusChangeListener(new MyOnFocusChangeListener(editText1));
editText2.setOnFocusChangeListener(new MyOnFocusChangeListener(editText2));
editText3.setOnFocusChangeListener(new MyOnFocusChangeListener(editText3));
// ...
}