Подтвердить что ты не робот

Показать <ul> <li> в android textview

У меня есть String с ul и li. И я пытаюсь показать их в форматировании HTML в текстовом виде.
textView.setText(Html.fromHtml(myHtmlText));
Но textview показывает простой текст. Как я могу использовать теги ul и li, отформатированные в текстовом виде?

4b9b3361

Ответ 1

Вы можете использовать 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()));

Ответ 2

Теги, поддерживаемые в ресурсах String

Теги в статических ресурсах строк анализируются с помощью файла android.content.res.StringBlock, который является скрытым классом. Я просмотрел класс и определил, какие теги поддерживаются:

<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>

см. ссылку для более подробной информации

Ответ 3

см. HTML-теги, поддерживаемые TextView, теги ul и li не являются Поддерживается android.text.Html класс.

РЕШЕНИЕ: вы можете отображать эти теги с помощью WebView или TagHandler

для получения дополнительной помощи см. это сообщение:

Тэг Html List не работает в текстовом виде Android. что я могу сделать?

Ответ 4

В соответствии с приведенным ниже ответом вы не можете использовать каждый HTML-тег здесь:

fooobar.com/questions/22338/...

Но, конечно, есть способ показать маркеры в Android TextView. Вы можете заменить теги <li> на &#149; (это HTML-код для пули).

Если вы хотите попробовать другие значки списка, используйте предпочтительную из таблицы эту ссылку;

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

Ответ 5

В моем случае мои данные сходят с вызова API. Мне все еще нужен выход, чтобы он соответствовал формату моего приложения, поэтому я переношу строку HTML в теги форматирования для отображения в своем 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;
}