Мониторинг EditText в Android

224
22 октября 2017, 20:00

Если пользователь введет текст в EditText, и в нем содержится подстрока "more", то она должна быть выделена красным.

Посоветуйте, как правильно реализовать и что потребуется для этого.

Answer 1
editText.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                String str = "more";
                Spannable spannable = editText.getText();
                if(s.length() != 0) {
                    editText.setTextColor(Color.parseColor("#000000")); //весь текст черным
                    ForegroundColorSpan fcs = new ForegroundColorSpan(Color.RED); // красим в красный, если найдется more
                    String s1 = s.toString();
                    int in = 0;
                    while ((in = s1.indexOf(str, in)) >= 0) {
                        spannable.setSpan(fcs, in, in + str.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
                        in += str.length();
                    }
                }
            }
            @Override
            public void afterTextChanged(Editable s) {}
        }); //постоянный мониторинг для EditText'а
READ ALSO
Как сделать курсор в EditText немигающим?

Как сделать курсор в EditText немигающим?

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

265
Вывод данных в консоль, с ее очисткой

Вывод данных в консоль, с ее очисткой

Доброго дня, коллегиЕсть один код, который выводит в консоль таблицу случайных булевых значений

243
Инициализация локальных переменных

Инициализация локальных переменных

Как корректнее всего инициализировать пустые локальные переменные разных типов? Например,

236
как удалить по ID (deleteById(long id) и delete(Developer developer)

как удалить по ID (deleteById(long id) и delete(Developer developer)

Дана сущность Developer Необходимо реализовать консольное приложение со следующим функционалом:

198