Сохранить только выделенный жирным шрифтом текст в массиве строк в растянутой строке?
У меня есть длинные истории абзацев, которые содержат натянутые строки с главным образом обычным текстом и несколькими полужирными текстами (1 или 2 слова) здесь и там. Это в редакционном тексте. Я хочу иметь возможность выполнять поиск по этой растянутой строке в editText и сохранять каждый выделенный жирным шрифтом текст в строку. Но я не знаю, как это сделать. Есть предложения?
1 ответ:
Если вы используете
SpannableString
, Вы можете использовать методgetSpans
:StyleSpan[] spans = ss.getSpans(0, ss.length(), StyleSpan.class); List<String> boldedWords = new ArrayList<String>(); for(StyleSpan span : spans) { if(span.getStyle() & Typeface.BOLD) { int start = ss.getSpanStart(span); int end = ss.getSpanEnd(span); boldedWords.add(ss.subSequence(start, end).toString()); } }