Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
kqu
0 / 0 / 0
Регистрация: 08.07.2016
Сообщений: 31
#1

EditText Замена символа при вводе

24.07.2016, 17:48. Просмотров 908. Ответов 2

Всем привет!
Помогите реализовать замену символа ' ' на '_' при вводе.
Пытался сделать с помощью InputFilter

Java
1
2
3
4
5
6
7
8
9
10
11
InputFilter aliasFilter = new InputFilter() {
            @Override
            public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
                String text = dest.subSequence(0, dstart).toString() + source.subSequence(start, end)  + dest.subSequence(dend,dest.length()).toString();
                String pattern = "[a-zA-Z0-9 ]+ ";
                String space_pattern = "[ ]+";
                if (Pattern.matches(space_pattern), text) return _;
                if (!Pattern.matches(pattern, text)) return "";
                return null;
            }
};
Но безрезультатно...
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.07.2016, 17:48
Ответы с готовыми решениями:

EditText смещается вниз при вводе текста, который занимает объём больше, чем EditText
EditText сещается вниз при вводе текста который занимает обём больше чем...

Ввод в один EditText и авто-вычисление в двух других EditText
Всем привет. Есть три поля EditText,виртуальные клавиатуры у всех...

Динамическое создание edittext и обработка данных из edittext
Здравствуйте, мне нужна помощь, у меня есть таблица, где динамически создаются...

Быстродействие EditText при работе с html
Есть EditText, в него загружается текст с html разметкой. Проблема в том, что...

Прокрутка ListView в начало при обновлении EditText
Всем привет! Проблема следующая - имеется ListView с адаптером. Элементы...

2
fraley
110 / 110 / 43
Регистрация: 24.05.2015
Сообщений: 329
24.07.2016, 18:54 #2
Лучший ответ Сообщение было отмечено kqu как решение

Решение

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
final EditText editText=(EditText)findViewById(R.id.edtText);
 
        TextWatcher textWatcher=new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
                String  strBefore=String.valueOf(charSequence.charAt(charSequence.length()-1));
                if(strBefore.equals(" ")){
                    String strAfter=charSequence.toString().replace(" ","_");
                    editText.setText(strAfter);
                    editText.setSelection(charSequence.length());
                }
            }
            @Override
            public void afterTextChanged(Editable editable) {}
        };
        editText.addTextChangedListener(textWatcher);
1
kqu
0 / 0 / 0
Регистрация: 08.07.2016
Сообщений: 31
24.07.2016, 20:24  [ТС] #3
fraley, все работает, спасибо)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.07.2016, 20:24

Добавить символ в EditText при нажатии кнопки
Программа при нажатии на Button, должна выводить в EditText символ, например...

Удаление текста при активации пользователем EditText
Доброго времени суток! у меня возник такой вопрос как сделать так чтобы при...

Убрать softkeyboard и курсор при касании за пределами EditText?
Всем добра! в EditText который находится в Toolbar задается курс валюты,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru