Я только начинаю пытаться понять это, и это кажется излишне хитрым.
Вот рабочий метод, чтобы добавить НОВЫЙ расширяемый текст в существующее представление.Я хотел добавить цветной текст в представление, и это выглядело как единственный способ сделать это.
Хотя это выглядит как уродливый хак, вы можете создать фиктивный TextView (нигде не показанный) и стилизовать тексттам, а затем добавить этот стиль текста, где вы хотите.Кредит на это идет в iifuzz на anddev.org.Мой код выглядит следующим образом:
spanbuffer = new TextView(context);
spanbuffer.setText(newText, TextView.BufferType.SPANNABLE);
Spannable s = (Spannable) spanbuffer.getText();
s.setSpan(new ForegroundColorSpan(Color.RED), 0, newText.length() - 1, 0);
this.append(s);
Я думаю, что вы должны иметь возможность создавать новый текст с поддержкой SpannableFactory, например:
Spannable s = Spannable.Factory.getInstance().newSpannable(newText);
, но я не могполучить этот текст, чтобы фактически показать новые эффекты span, поэтому я сдался.