Поле ввода с маской ММ/ГГ

429
28 декабря 2016, 03:28

Прошу покритиковать код с примерами чем бы вы что заменили. Дан кусок кода и он касается только поля "срок действия"

Задача:

  • если ввод начинается с числа(Х) больше 1 его автоматически модифицирует в 0Х,
  • если первое число 1 второе не должно быть больше 2,
  • после ввода первых двух чисел автоматически ставится символ "/" после него возможен ввод ещё двух чисел.
  • Еще нужно чтобы можно было удалять числа в поле ввода.
 @Override
        public void afterTextChanged(Editable s) {
            if (mCountAfter > mCountBefore && mStartNumber == 0) {
                if(s.toString().equals("0")|s.toString().equals("1")){
                }
                else {
                    System.out.println(s.toString());
                    editTextValidity.removeTextChangedListener(this);
                    editTextValidity.setText("0" + s+"/");
                    editTextValidity.addTextChangedListener(this);
                    editTextValidity.setSelection(3);
                }
            }
            if (mCountAfter > mCountBefore && mStartNumber == 1) {
                if(s.toString().equals("01")|s.toString().equals("02")|s.toString().equals("03")|s.toString().equals("04")|s.toString().equals("05")|s.toString().equals("06")|s.toString().equals("07")|s.toString().equals("08")|s.toString().equals("09")|s.toString().equals("10")|s.toString().equals("11")|s.toString().equals("12")){
                    s.append("/");
                }
                else{
                    s.delete(s.length()-1, s.length());
                }
            } else if (mCountAfter < mCountBefore && mStartNumber == 2) {
                s.delete(s.length()-1, s.length());
            }
            if (s.length() == 6) {
                s.delete(s.length()-1, s.length());
                editTextCVV.requestFocus();
            }

        }
    });

Answer 1

http://www.quizful.net/post/Java-RegExp

С помощью этого инструмента всё можно сделать, только нужно быть осторожным и проверять всё вот здесь :http://regexr.com/ .

READ ALSO
Назначение пакетов rt.jar

Назначение пакетов rt.jar

Некоторое время назад был задан вопрос о разнице классов из пакетов orgxml и jdk

441
Вывод на экран треугольника

Вывод на экран треугольника

Написал код для вывода треугольника:

510
NullPointerException при использовании SimpleDateFormat

NullPointerException при использовании SimpleDateFormat

Пытаюсь получить дату определенного формата:

435
Java Properties проблема с чтением русских букв

Java Properties проблема с чтением русских букв

Доброго времени сутокЕсть проблема с чтением файла Properties, содержащего русские буквы

496