我正在尝试为留言板构建一个Android应用程序.要显示帖子内容的格式化html,我选择了TextView和Html.fromHtml()方法.遗憾的是,这只涵盖了几个html标签.未知标记由实现TagHandler的类处理,并且必须由我自己生成.
现在,我搜索了很多,无法找到这个类应该如何工作的例子.让我们考虑我有一个用于标记某些文本的u标记(我知道这已被弃用,但无论如何).我的TagHandler看起来如何?
它以下列方式调用:
public void handleTag(boolean opening, String tag, Editable output, XMLReader xmlReader) {
Run Code Online (Sandbox Code Playgroud)
前两个论点都没问题.我想我必须使用output.append()修改输出.但是我如何附上在那里加下划线的东西呢?
我正在设置Span文本的一部分.跨度本身运作良好.然而,文本是由String.formatfrom 创建的Resources,我不知道,start并且end我将要将Span设置为文本的一部分.
我tryed使用自定义HTML代码strings.xml,但无论是getText或getString删除它们.我可以用这样的事情getString(R.string.text, "<nb>" + arg + "</nb>"),那么Html.fromHtml(),因为arg正是在这里我想设置的跨度.
我看到这种使用文本格式化的方法"normal text ##span here## normal text".它解析字符串删除标签并设置Span.
我的问题是,是否有更好的方法来完成将Span设置为格式化字符串,"something %s something"或者我应该使用上述方法之一?