在android textview中显示

我有字符串,其中包含ul和li。 我试图在textview中以HTML格式显示它们。
textView.setText(Html.fromHtml(myHtmlText));
但是textview显示了纯文本。 如何在textview中格式化ul和li标签?

Solutions Collecting From Web of "在android textview中显示"

您可以使用Html.TagHandler。

在你的情况下,它将是这样的:

 public class UlTagHandler implements Html.TagHandler{ @Override public void handleTag(boolean opening, String tag, Editable output, XMLReader xmlReader) { if(tag.equals("ul") && !opening) output.append("\n"); if(tag.equals("li") && opening) output.append("\n\t•"); } } 

 textView.setText(Html.fromHtml(myHtmlText, null, new UlTagHandler())); 

字符串资源中支持的标记

静态字符串资源中的标记由android.content.res.StringBlock解析,这是一个隐藏的类。 我仔细查看了类并确定了支持哪些标记:

  (supports attributes "href")     (supports attributes "height", "size", "fgcolor" and "bicolor", as integers)  
  • Html.fromHtml()支持的标签

    出于某种原因,Html.fromHtml()处理一组不同于静态文本支持的标记。 这是一个标签列表(从Html.java的源代码中收集):

      (supports attribute "href")   

    (supports attributes "color" and "face") (supports attribute "src". Note: you have to include an ImageGetter to handle retrieving a Drawable for this tag)

    有关详细信息,请参阅此链接

    请参阅TextView支持的HTML标记 android.text.Html类不支持ulli标记。

    SOLUTION:您可以使用WebView或TagHandler显示这些标签

    如需更多帮助,请参阅此post:

    Html List标签在android textview中不起作用。 我能做什么?

    根据下面的答案,你不能在这里使用每个HTML标签;

    https://stackoverflow.com/a/3150456/2275962

    但是,当然,有一种方法可以在Android TextView中显示项目符号。 您可以用替换

  • 标签 (这是子弹的HTML代码)。

    如果您想尝试其他列表图标,请使用表中的首选图标链接;

    http://www.ascii-code.com/

    我的情况是我的数据来自API调用。 我仍然需要输出以匹配我的应用程序的格式,所以我将HTML字符串包装在格式化标签中以显示在我的WebView中:

     public static String formatHtmlString(String stringIn) { String format = "" + " " + " " + " " + " " + stringIn + "" + ""; return format; }