包含子子弹和子子弹的HTML无法正常显示

时间:2018-04-19 07:43:37

标签: android html textview

考虑这个HTML:

<ul>
    <li>Some bullet point text.</li>
    <li>Another bullet point:</li>
        <ul>
            <li>A Sub Bullet point of the above.</li>
                  <ul>
                       <li>A Sub sub bullet point.</li>
                 </ul>
            <li>The second sub bullet point.</li>
        </ul>
</ul>

我将它加载到MainActivity中的TextView中:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    val someText = findViewById<TextView>(R.id.someTextView)
    val url = "<ul>\n" +
            "    <li>Some bullet point text.</li>\n" +
            "    <li>Another bullet point:</li>\n" +
            "        <ul>\n" +
            "            <li>A Sub Bullet point of the above.</li>\n" +
            "                  <ul>\n" +
            "                       <li>A Sub sub bullet point.</li>\n" +
            "                 </ul>\n" +
            "            <li>The second sub bullet point.</li>\n" +
            "        </ul>\n" +
            "</ul>\n"
    someText.text = Html.fromHtml(url, Html.TO_HTML_PARAGRAPH_LINES_CONSECUTIVE)
}

activity_main.xml没有什么特别之处:

<TextView
    android:id="@+id/someTextView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

预期(次级,次级子弹分): enter image description here

实际(没有子子弹和子子弹并且缩进是错误的): enter image description here

  1. tried this library但它有同样的问题。
  2. 另一种解决方案是将标签转换为“\ u25CF”,将子子弹转换为“\ u25CB”(或BulletSpan),并使用JSoup进行排序。但这对标准HTML文本来说感觉很多。
  3. 我尝试了MyTagHandler,但同样的问题。
  4. 有什么想法吗?

    感谢帮助人员!

1 个答案:

答案 0 :(得分:0)

Html.fromHtml()不支持

ul li 标记 方法。 Google问题跟踪器中有关于these missing tag supports以及 Html.fromHtml() 方法文档中的supported tags not listen的未解决问题。

但是,我认为BulletSpan可能会有所帮助。