Раскраска указанный символ строки в Java

Я пытаюсь сделать раскраску указанного символа входной строки. Загрузка входной строки из базы данных. Проблема в том, как раскрасить указанный символ, как этот?:

Итак, каждый символ "мп" красного цвета. А как сканировать, если есть символ "мп"? Текст является динамическим из базы данных. Не всегда как выше. Я хочу, чтобы каждый символ "mp" был красного цвета. Не только в "простом" тексте, но и в каждом тексте, который содержит символ "mp". если есть, то раскрасьте этот символ в красный цвет. Я использую Java-программирование для Android.

Благодарю.

1 ответ

Решение
ArrayList<Integer> positions = new ArrayList();
Pattern p = Pattern.compile("mp");  // insert your pattern here
Matcher m = p.matcher("Simple Text, bumping , jumping");
while (m.find()) {
   positions.add(m.start());
}

// interate this for position times 
Spannable spanning = new SpannableString("Simple Text");        

spanning.setSpan(new ForegroundColorSpan(Color.BLUE),positions.get(i), positions.get(i)+1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

textview.setText(spanning);
Другие вопросы по тегам