Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Vladulka
0 / 0 / 0
Регистрация: 17.01.2015
Сообщений: 77
#1

Автоматическая замена символов - Программирование Android

04.09.2016, 13:38. Просмотров 142. Ответов 4
Метки нет (Все метки)

Есть EditText в котором вводятся цифры и буквы. Необходимо программно найти в нем русские буквы и заменить их на английские
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.09.2016, 13:38     Автоматическая замена символов
Посмотрите здесь:

Не создается автоматическая активити - Программирование Android
Всем привет! Пытаюсь добавить в свое приложение кнопки соц.сетей - которые "расскажи о нас друзьям". За основу взял вполне рабочий...

Автоматическая прокрутка ScrollView - Программирование Android
Имеется ScrollView, а внутри него LinearLayout, в котором находятся кнопки. Как сделать так, чтобы на тех экранах, где прокрутка нужна,...

Автоматическая отправка отчетов по mail-smtp - Программирование Android
Добрый день.Проблема такая: Требуется отправлять почтовое сообщение при событии с определенным текстом на адрес gmail. При...

Чтение русских символов. Отрицательные значения у символов - Программирование Android
Добрый вечер. Считую файл .txt. Но русские буквы получают отрицательное значение. И в итоге при попытке перевести в String не распознаются....

Автоматическая замена символов - VBA
Как-то я видел здесь способ замены на листе Exсell сточных символов на прописные. В связи с этим вопрос: Может кто знает как в Exсell...

Автоматическая замена - MS Excel
Здравствуйте. Нужна ваша помощь, может я и туплю, но помощь нужна. Например, у меня есть формула =ЕСЛИ(P21<10;"...

Автоматическая замена изображений - JavaScript
Ребята помогите, сломал уже голову. Задача такова. Нужно что бы и в левом блоке и в правом гиф анимация запускалась одновременно....

Автоматическая замена ссылок - HTML, CSS
Здравствуйте, форумчане! Проблема такова, что имею 200-300 файлов .html каждый с которых имеет в себе по 3-6 ссылки на документы типа .doc...

Автоматическая замена индексов в формулах - MathCAD
Задача решается по пунктам. И большое количество формул повторяются в разных пунктах, но индексы у переменных (в формулах) должны быть...

Автоматическая замена всех спецсимволов - Perl
Объясните неразумной! Создан редактор для введения вопросов в базу данных. И в эти вопросы могут содержать любые спец.символы. И что надо ...

Автоматическая замена кавычек по логике Word - C#
Не знаю, насколько избита тема, но по данному вопросу ничего толком не нашел в инете. Предлагаю свою реализацию для тех, кому не все равно...

Автоматическая замена текста в MS Word с багом - MS Word
Всем привет! Никак не могу разобраться с автозаменой текста в Ворде. Речь идет о замене одного слова на другое автоматически с...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pablito
2403 / 1848 / 579
Регистрация: 12.05.2014
Сообщений: 6,577
Завершенные тесты: 1
04.09.2016, 14:30     Автоматическая замена символов #2
подробнее нельзя написать?

Добавлено через 35 минут
во-первых непонятно когда делать замену - во время ввода или потом, когда поле будет терять фокус например
во-вторых вообще непонятно с заменой - количество букв в алфавитах разное
ExFau$t
243 / 218 / 42
Регистрация: 08.05.2012
Сообщений: 1,195
04.09.2016, 14:55     Автоматическая замена символов #3
Vladulka, создай в ресурсах массивы алфавитов так, чтобы каждой русской букве соответствовало значение латиницы, то есть два массива с 33мя элементами. Потом ставишь на эдит addTextChangedListener, если введенный символ находится в массиве русском - Replace() элементом массива из английского.
Pablito
2403 / 1848 / 579
Регистрация: 12.05.2014
Сообщений: 6,577
Завершенные тесты: 1
04.09.2016, 15:17     Автоматическая замена символов #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
фильтром проще
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.InputFilter;
import android.text.Spanned;
import android.widget.EditText;
 
import java.util.HashMap;
import java.util.Map;
 
public class MainActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        EditText editText = (EditText) findViewById(R.id.editText);
        if (editText != null) editText.setFilters(new InputFilter[]{filter});
    }
 
    private final InputFilter filter = new InputFilter() {
        @Override
        public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
            return map.get(source.charAt(0));
        }
    };
 
    // транслитерацию выбирал наугад, но это другой вопрос
    private final static Map<Character, String> map = new HashMap<Character, String>() {
        {
            put('q', "ку");
            put('w', "в");
            put('e', "е");
            put('r', "р");
            put('t', "т");
            put('y', "и");
            put('u', "у");
            put('i', "и");
            put('o', "о");
            put('p', "п");
            put('a', "а");
            put('s', "с");
            put('d', "д");
            put('f', "ф");
            put('g', "г");
            put('h', "х");
            put('j', "ж");
            put('k', "к");
            put('l', "л");
            put('z', "з");
            put('x', "кс");
            put('c', "ц");
            put('v', "в");
            put('b', "б");
            put('n', "н");
            put('m', "м");
            // и так далее - заглавные буквы
        }
    };
}
Добавлено через 10 минут
даже немного не так, метод filter
Java
1
2
3
4
5
6
        @Override
        public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
            String s = null;
            if (!TextUtils.isEmpty(source)) s = map.get(source.charAt(0));
            return s;
        }
Vladulka
0 / 0 / 0
Регистрация: 17.01.2015
Сообщений: 77
04.09.2016, 17:10  [ТС]     Автоматическая замена символов #5
Спасибо большое!
Yandex
Объявления
04.09.2016, 17:10     Автоматическая замена символов
Ответ Создать тему
Опции темы

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