在android textview中显示<ul> <li>

我有ul和li的string。 我试图用textview中的HTML格式显示它们。
textView.setText(Html.fromHtml(myHtmlText));
但是textview显示纯文本。 我怎样才能在textview中格式化ul和li标签?

Solutions Collecting From Web of "在android textview中显示<ul> <li>"

你可以使用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())); 

string资源中支持的标签

静态string资源中的标签由android.content.res.StringBlockparsing,这是一个隐藏的类。 我已经看了整个课程,并确定支持哪些标签:

 <a> (supports attributes "href") <annotation> <b> <big> <font> (supports attributes "height", "size", "fgcolor" and "bicolor", as integers) <i> <li> <marquee> <small> <strike> <sub> <sup> <tt> <u> 

Html.fromHtml支持的标签()

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

 <a> (supports attribute "href") <b> <big> <blockquote> <br> <cite> <dfn> <div> <em> <font> (supports attributes "color" and "face") <i> <img> (supports attribute "src". Note: you have to include an ImageGetter to handle retrieving a Drawable for this tag) <p> <small> <strong> <sub> <sup> <tt> <u> 

看到这个链接更多的细节

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

解决scheme:您可以使用WebView或TagHandler显示这些标签

为更多的帮助看到这个职位:

HTML列表标记不能在android textview中工作。 我能做什么?

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

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

但是,当然,有一种在Android TextView中显示子弹的方法。 您可以用&#149;replace<li>标签 (这是子弹的HTML代码)。

如果你想尝试其他列表图标,使用表中的首选是这个链接;

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

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

 public static String formatHtmlString(String stringIn) { String format = "<html>" + " <head>" + " <style type='text/css'>" + " body { " + " font-family: \"HelveticaNeue-Light\", \"Helvetica Neue Light\"; " + " font-size:14px;" + " color:#000;" + " }" + " b { " + " font-size:14px;" + " }" + " i { " + " font-size:10px;" + " color:#333333;" + " opacity:0.75;" + " }" + " </style>" + " </head>" + " <body>" + stringIn + "</body>" + "</html>"; return format; }