【问题标题】:Android TextView Display HTML With DL DT tagsAndroid TextView 显示带有 DL DT 标签的 HTML
【发布时间】:2014-05-13 21:09:53
【问题描述】:

有没有在 TextView 中显示 DL DT 和 DD 标签?我试过这个

rawString is an array of "<dt>Some Name</dt><dd>Some text</dd>"

StringBuilder builder = new StringBuilder();
builder.append("<dl>");
for (String s : rawString) {
    builder.append(s);
}
builder.append("</dl>");

但这似乎并没有被解释,即使我在设置文本时使用 Html.fromHtml()

setText(Html.fromHtml(builder.toString()));

我想如果这永远行不通,那么有没有办法在一个文本视图中显示这样的信息,其中我们有 2 列或 3 列数据并排列列?

Name:    The name
tim:     value
yells:   yes

如果我使用 Webview,那么数据如下所示:

Name:
         The name
tim:
         value
yells:
         yes

似乎不使用列表视图就无法显示此内容

【问题讨论】:

    标签: android html textview


    【解决方案1】:

    Html.fromHtml() 处理一组有限的 HTML 标记。 This blog post of mine from 2010 列出了当时的集合,我不知道它发生了很大变化。快速目测the source code 并没有明显的变化。

    所以,在我秃顶的头顶上,你有几个选择:

    1. 做那些标签以外的事情。

    2. TagHandler 添加到您的 fromHtml() 调用中,并弄清楚如何设置跨度以按照您想要的方式格式化。

    3. 使用WebView

    我猜另一个问题是,如果这永远不会起作用,那么有没有办法在单个文本视图中显示这样的信息:

    如果没有等宽字体,让它们像这样对齐会很困难。您可能可以通过some text-measurement stuff 尝试确定要添加的正确数量的空白以使事物对齐,或者发明一些跨度来填充空间。这是让我感到痛苦但最终可行的事情之一。

    【讨论】:

    • Webview 太可怕了,它有很多错误,而且对于我在这里需要的东西来说太多了。最好使用 div 标签。
    • @JPM:请记住,&lt;div&gt; 不接受属性,就fromHtml() 而言。它被视为段落分隔符。
    • 呃,感谢您为我节省了使用 div 的时间...我会尝试 webview(以沮丧的声音)
    • Webview 也显示数据不正确。看来我必须改用带有自定义适配器的 ListView。
    • @CommonsWare 为什么几乎每次你回答一个问题时你都不会投票?您花时间回答某人的问题,为什么不投票呢?名声大噪,何不散播财富?几乎所有新答案(最后 10 个左右)的问题仍然为 0。
    猜你喜欢
    • 1970-01-01
    • 2013-12-01
    • 2011-11-27
    • 2020-08-21
    • 2017-07-23
    • 2018-11-26
    • 1970-01-01
    • 1970-01-01
    • 2017-11-08
    相关资源
    最近更新 更多