@lahomie93

Как выполнить валидацию в EditText в Андроиде?

Здравствуйте! Передо мной стоит задача разработать EditText вьюшку, в которую мы вводим телефон. В Edit Text мы видим подсказку такого вида: +7(___)___-__-__ Пользователь начинает вводить цифры сразу после 7 и по мере ввода символов нижние подчеркивания остаются. Я не знаю с чего мне начать решать эту задачу, и мне нужна подсказка в каком направлении мне надо идти. Возможно у вас есть готовое решение и прошу им поделиться)
  • Вопрос задан
  • 363 просмотра
Пригласить эксперта
Ответы на вопрос 2
@umpteenthdev
Есть неплохое решение: https://github.com/RedMadRobot/input-mask-android. Но если сильно хочется самостоятельно - посмотрите в сторону InputFilters
Ответ написан
akaish
@akaish
Стек Java\Android
Это делается с помощью TextWatcher listener:
editText.addTextChangedListener(new TextWatcher() {
    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {

        // TODO Auto-generated method stub
    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {

        // TODO Auto-generated method stub
    }

    @Override
    public void afterTextChanged(Editable s) {

        // TODO Auto-generated method stub
    }
});

При каждом изменении поля ввода Вы в одном из данных методов форматируете строку в соответствии с Вашим шаблоном.
UPD. Если требуется, найду сниппет под форматирование номера телефона, писал аналогичное уже. Вкратце, само форматирование можно произвести с помощью библиотеки гугловской libphonenumber.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы