gpt4 book ai didi

android - 我如何合并单个字符串的两个不同的 spannable 对象

转载 作者:行者123 更新时间:2023-11-28 00:47:59 26 4
gpt4 key购买 nike

对于同一个字符串,我有两个 spannable 对象,它们都有不同的样式。我需要合并所有 spannable 对象并将所有样式显示到 TextView 中。

Html.fromHtml() 返回之一和第二个返回 StyleSpan(Bold)。

我尝试了 TextUtils.concate(htmlSpan, boldSpan) 但它显示了两次相同的字符串,因为它附加了 spannable,我想将我的所有样式显示为单个字符串。

最佳答案

使用 SpannableStringBuilder 但您可以在 append 方法中创建 span

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 设置为您的 View

textView.setText(sb);

编辑:

我看到了你编辑过的问题,上面我重写了这段代码,让它在一个字符串上应用两个 spannable。我认为你不能在一个字符串上合并不同的 spannable 对象。我相信一种解决方法是应用一个跨度,然后转换为字符串,然后应用第二个跨度。这样它将对一个字符串应用两个跨度。或者,如果您总是需要粗体,您可以通过 xml 管理粗体文本类型

关于android - 我如何合并单个字符串的两个不同的 spannable 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49378448/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com