0 / 0 / 0
Регистрация: 08.07.2016
Сообщений: 31
1

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

24.07.2016, 17:48. Показов 3368. Ответов 2

Author24 — интернет-сервис помощи студентам
Всем привет!
Помогите реализовать замену символа ' ' на '_' при вводе.
Пытался сделать с помощью 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)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.07.2016, 17:48
Ответы с готовыми решениями:

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

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

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

Замена символа при вводе
Хочу сделать так чтоб при readln(S); если человек вводит символ '#' программа вводила символ...

2
111 / 111 / 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
0 / 0 / 0
Регистрация: 08.07.2016
Сообщений: 31
24.07.2016, 20:24  [ТС] 3
fraley, все работает, спасибо)
0
24.07.2016, 20:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.07.2016, 20:24
Помогаю со студенческими работами здесь

Составить программу, которая при вводе символа с клавиатуры выво-дит "латинская буква" при вводе латинской буквы и "не латинская бук-ва" во всех остал
Составить программу, которая при вводе символа с клавиатуры выво-дит "латинская буква" при вводе...

АвтоВыборка из БД при вводе символа
Добрый день! Сейчас есть куча форм для выбора из справочников, например контрагента... в...

Калькулятор, выход при вводе символа
Подскажите пожалуйста как организовать прекращение работы калькулятора при вводе символа. #include...

Завершение программы при вводе символа
Задача такая: написать программу, которая переводит температуру по Форенгейту в температуру по...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru