2 / 2 / 2
Регистрация: 18.07.2017
Сообщений: 46

EditText setFilters не работает в некоторых случаях

28.07.2017, 22:27. Показов 1909. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Нужно, чтобы пользователь мог вводить только русские буквы в editText. Я использовал editText.setFilters() и он действительно ограничивает ввод всех символов кроме русских букв. Но Если ввести слово и следом цифру (например) все слово удаляется, или если быстро нажимать пробел, то он начинает стирать по одной букве. Как это исправить?

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
editText.setFilters(new InputFilter[]{
                new InputFilter() {
                    @Override
                    public CharSequence filter(CharSequence source, int start,
                                               int end, Spanned dest, int dstart, int dend) {
                        if (source.equals("")) { // for backspace
                            return source;
                        }
                        if (source.toString().matches("[а-яА-ЯёЁ]+")) {
                            return source;
                        }
                        return "";
                    }
                }
        });
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.07.2017, 22:27
Ответы с готовыми решениями:

Не работает анимация в некоторых случаях
Всем доброе время суток. Проблема в следующем: ни как не получается "оживить анимацию gif" при любом событии Mouse. Ну то есть...

Почему в некоторых случаях используется массив для хранения стека, а в некоторых нет?
Почему в некоторых случаях используется массив для хранения стека ,а в некоторых нет

Делегат в некоторых случаях должен принимать парамертр, а в некоторых не должен
Есть делегат который в некоторых случаях должен принимать парамертр, а в некоторых не должен, я пробовал присваивать параметру null по...

2
2 / 2 / 2
Регистрация: 18.07.2017
Сообщений: 46
01.08.2017, 20:45  [ТС]
Ребят нет идей?
Может есть иной красивый способ реализации?
0
 Аватар для arzrav
73 / 74 / 4
Регистрация: 25.09.2012
Сообщений: 211
03.08.2017, 17:34
Лучший ответ Сообщение было отмечено BargystVelp как решение

Решение

У меня это реализовано вот так. Все работает как часы.
Класс RegexInputFilter:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import android.text.InputFilter;
import android.text.Spanned;
 
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
 
public class RegexInputFilter implements InputFilter {
 
    private static final String CLASS_NAME = RegexInputFilter.class.getSimpleName();
    private Pattern mPattern;
 
    public RegexInputFilter(Pattern pattern) {
        if (pattern == null) {
            throw new IllegalArgumentException(CLASS_NAME + " requires a regex.");
        }
 
        mPattern = pattern;
    }
 
    public RegexInputFilter(String pattern) {
        this(Pattern.compile(pattern));
    }
 
    @Override
    public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
        Matcher matcher = mPattern.matcher(source);
        if (!matcher.matches()) {
            return "";
        }
        return null;
    }
}
Применение в другом классе на EditText:
Java
1
2
3
4
5
RegexInputFilter nameFilter = new RegexInputFilter("[А-Яа-яёЁA-Za-z -]");
mPatientFirstName.setFilters(new InputFilter[]{
                nameFilter,
                new InputFilter.LengthFilter(50)
        });
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.08.2017, 17:34
Помогаю со студенческими работами здесь

Не округлять числа в некоторых случаях
Всем доброе время суток ! Относительно способов округления существует стандарт IEEE 754, арифметическое округлениу, бухгалтерское...

неправильная работа рекурсии в некоторых случаях
Неправильно работает рекурсия для некоторых чисел(умножение Карацубы), подскажите пожалуйста как исправить, а то я в этом деле дилетант ...

Почему pdf документы в некоторых случаях весомее ,
Не могу понять почему яндекс считает документ pdf весомее ,чем страницу специально заточенную под нужным запрос "Оптический...

Русский язык в некоторых случаях символами. Как исправить?
В некоторых случаях русский язык отображается символами, к примеру при установки какой-либо программы. Пока только при установке заметил...

Почему в php в некоторых случаях можно обойтись без кавычек?
Никогда не думал в каких случаях можно обходиться без кавычек. Но недавно наткнулся на интересный код, в котором ключ массива был без...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru