gpt4 book ai didi

Android:如何结合 Spannable.setSpan 和 String.format?

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:55:19 26 4
gpt4 key购买 nike

我正在设置 Span到文本的一部分。 Span 本身运行良好。但是,文本是由 String.format 创建的来自 Resources我不知道startend我将 Span 设置为文本中的一部分。

我尝试在 strings.xml 中使用自定义 HTML 标签, 但要么 getTextgetString删除它们。我可以使用这样的东西 getString(R.string.text, "<nb>" + arg + "</nb>") , 然后 Html.fromHtml() ,因为 arg正是我要设置 Span 的地方。

我看到了this approach使用格式为 "normal text ##span here## normal text" 的文本.它解析字符串并删除标签并设置 Span。

是否有更好的方法将 Span 设置为格式化字符串,如 "something %s something"还是我应该使用上述方法之一?

最佳答案

getText() 将返回包含 strings.xml 中定义的格式的 SpannedString 对象。我创建了 a custom version of String.format这将保留格式字符串中的任何跨度,即使它们包含格式说明符( SpannedString 参数中的跨度也被保留)。像这样使用它:

Spanned toDisplay = SpanFormatter.format(getText(R.string.foo), bar, baz, quux);

关于Android:如何结合 Spannable.setSpan 和 String.format?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7203448/

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