Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.10.2021, 18:17   #1
intersk
Пользователь
 
Регистрация: 07.09.2014
Сообщений: 14
Вопрос Как поставить точки сразу же после ввода второго знака?

Поле реализовано типа с маской ввода "12.34.5678". Сейчас точка ставиться только после ввода третьего знака. Если сделать чтобы ставилась сразу после второго знака, то тогда не работает стирание точки. Надо чтобы и точка ставилась сразу после ввода второго знака и когда удаляешь цифры - тоже стиралась. Библиотеки не подходят, потому что у меня ещё есть условия проверки. Натянуть их на известные библиотеки не получилось ((
Имеется ввиду не место, а момент появления точки.
Kotlin.

Код:
 private fun inputTextWatch() {

        slovo.addTextChangedListener(object : TextWatcher {

            override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {}

            override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {}

            override fun afterTextChanged(s: Editable) {

                var str = s.toString().replace(".", "")

                if (str.length > 2) {
                    str = "${str.take(2)}.${str.drop(2)}"
                }
                if (str.length > 5) {
                    str = "${str.take(5)}.${str.drop(5)}"
                }
                if (str != s.toString()) {
                    s.replace(0, s.length, str)
                }
            }
        })
    }

Последний раз редактировалось intersk; 11.10.2021 в 18:19.
intersk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Perl задачи. Перевод буквы в верхний регистр. Как сделать так, чтобы переводил буквы в верхний регистр после точки, восклицательного знака,вопросительного знака? Maxis10 Помощь студентам 0 09.11.2017 01:31
почему программа закрывается сразу после ввода и не выполняет if и цикл? ew0 Помощь студентам 2 28.03.2017 01:56
как называется технология отображения в подсказке, после ввода точки, до ввода первого символа, метода из другого файла на который ссылается редактируемый файл? lenivaya10001 Свободное общение 1 04.10.2016 21:53
блокировка EXCEL ячеек сразу после ввода AleCan Помощь студентам 0 15.05.2016 11:48
После ввода второго целочисленного массива на экран выводятся непонятные большие числа ivan.tiran Общие вопросы C/C++ 5 13.11.2012 09:51