我正在组合不同的字符串以在 TextView
中显示。我正在使用 SpannableStringBuilder
执行此操作,因为我需要对字符串中的几个子字符串应用不同的颜色。现在在组合的字符串中,有我以不同颜色显示的 url 以及一些其他文本。我正在做类似下面的事情。
Spannable spannedText = (Spannable) Util.getFormattedText(plainText);
SpannableStringBuilder strBuilder = new SpannableStringBuilder(spannedText);
URLSpan[] urls = strBuilder.getSpans(0, spannedText.length(), URLSpan.class);
for (URLSpan span : urls)
{
//apply clicks
}
输出是:Link1 Link2 some links here.
我想在不同的行中显示每个 url 以及 url 之后的其余文本。
例如。
Link1
Link2
some links here
但我找不到解决方案。任何帮助表示赞赏。
最佳答案
你可以像this中提到的那样做回答。
只需使用 UrlSpan
而不是 ImageSpan
,如下所示:-
for (URLSpan span : urls)
{
strBuilder = strBuilder.insert(strBuilder.getSpanEnd(span), System.getProperty("line.separator"));
//apply clicks
}
关于android - 在 SpannableStringBuilder getSpans() 中添加额外的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53294916/