Как я могу объединить два разных охватываемых объекта одной строки

У меня два spannable Объект для той же строки, и оба имеют разные стили. Мне нужно объединить все spannable объекты и отображать все стили в TextView,

От одного из вернувшихся из Html.fromHtml() и второй возврат StyleSpan (полужирный).

Я старался TextUtils.concate(htmlSpan, boldSpan) но он отображал одну и ту же строку два раза, потому что он добавляет spannableЯ хочу отобразить все стили в одну строку.

2 ответа

Использование SpannableStringBuilder но вы можете создавать пролеты внутри append метод

SpannableStringBuilder sb = new SpannableStringBuilder();
sb.append(String.valueOf(Html.fromHtml(stringToConvert));
sb.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 0, sb.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

А потом просто установить sb на ваш взгляд

textView.setText(sb);

РЕДАКТИРОВАТЬ:

Я видел ваш отредактированный вопрос: выше я переписал этот код, чтобы заставить его применять два spannables к одной строке. Я думаю, что вы не можете объединить разные объекты в одну строку. Я считаю, что обходной путь - применить один диапазон, затем преобразовать в строку, а затем применить второй диапазон. Таким образом, он будет применять два пролета к одной строке. Или вы можете управлять своим полужирным шрифтом через xml, если он вам всегда нужен жирным шрифтом

Наконец, я нашел, что у моего решения Html.fromHtml() нет параметра типа spannable, поэтому сначала я получил SpannableStringBuilder из Html.fromHtml() и перенес его в метод Bold StyleSpannable, а затем в TextView, и он работает потрясающе.

Он сохраняет HTML-код в смелом методе StyleSpannable.

Спасибо, ребята, за ваш отзыв и ответ на мой ответ.

SpannableStringBuilder spannable = setTextViewHTML(content);
common.convertBoldString(spannable);

textView.setText(spannable);

Для приведенного выше кода содержимое представляет собой переменную, которая содержит слова, которые я люблю выделять жирным шрифтом, а также теги HTML.

convertBoldString это метод в моем классе общих методов, который имеет параметр SpannableStringBuilder и этот объект использовать, чтобы установить полужирный StyleSpan.

Другие вопросы по тегам