Как быть с EditText если есть и FocusChangeListener и EditorActionListener

385
01 мая 2017, 01:13

У меня есть EditText, на котором висит onFocusChangeListener и onEditorActionListener.

Вот код

 mEtCustomerPhoneNumber.setOnEditorActionListener(new TextView.OnEditorActionListener() {
        @Override public boolean onEditorAction(TextView v, int iActionId, KeyEvent event) {
            if (iActionId == EditorInfo.IME_ACTION_DONE) {
                mCustomer = new Customer();
                updateCustomerPhone();
            }
            return false;
        }
    });
    mEtCustomerPhoneNumber.setOnFocusChangeListener(new View.OnFocusChangeListener() {
        @Override public void onFocusChange(View v, boolean hasFocus) {
            if (!hasFocus) {
                mCustomer = new Customer();
                updateCustomerPhone();
            }
        }
    });

Так вот проблема в том, что когда пользователь нажимает на EditText и вводит номер, то сразу на раскладке есть кнопка "done", при нажатии на которую выполняется проверка веденного текста. Тут все в порядке, но, когда пользователь нажимает на следующее поле ввода, то на этом EditText срабатывает onFocusChangeListener и опять выполняет проверку, которая только что была выполнена при нажатии кнопки done

Вопрос вот в чем: я понимаю, что можно поставить флаг и все такое, но думаю, может есть какая-то возможность сделать так, чтобы действие выполнялось только один раз?

Не уверен, что до конца понятно изложил, что имею в виду. Если что - спрашивайте.

READ ALSO
Moxy. Инъекция презентора в 2 вью

Moxy. Инъекция презентора в 2 вью

Всем приветВ фрагменте мне нужно обработать щелчек на кнопку назад

367
Приложение с базой данных (java)

Приложение с базой данных (java)

Здравствуйте, занимаюсь изучением javaee, а именно созданием веб приложенийУже писал пару сайтов, все работает и работает хорошо, но всегда...

223
как обработать button

как обработать button

Всем привет , я столкнулся с проблемой как обработать кнопку button из другого java файла так как этот layout присвоен к другой активити код кнопки

214
Код который на 100% приводит к deadlock

Код который на 100% приводит к deadlock

Мне нужно написать максимально простой код который в 100% случаев запуска будет приводить к взаимной блокировке, но все примеры которые я рассматриваю...

326