Это видно из источник Html.java
, что TagHandler.handleTag()
вызывается только в том случае, если фреймворк не обрабатывает его сам.
В настоящее время фреймворк, похоже, плохо его обрабатывает.
Но даже если он сделал это хорошо, вы все равно захотите его настроить. Лучший способ справиться с этим — заменить стандартные теги ul
, li
вашими собственными тегами. Поскольку фреймворк не будет обрабатывать ваши пользовательские теги, TagHandler
будет предложено обработать его.
public static String customizeListTags(@Nullable String html) {
if (html == null) {
return null;
}
html = html.replace("<ul", "<" + UL);
html = html.replace("</ul>", "</" + UL + ">");
html = html.replace("<ol", "<" + OL);
html = html.replace("</ol>", "</" + OL + ">");
html = html.replace("<dd", "<" + DD);
html = html.replace("</dd>", "</" + DD + ">");
html = html.replace("<li", "<" + LI);
html = html.replace("</li>", "</" + LI + ">");
return html;
}
И затем вы можете обработать свою строку html, например
html = customizeListTags(html);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
result = Html.fromHtml(html,Html.FROM_HTML_MODE_LEGACY, null, new CustomTagHandler());
} else {
//noinspection deprecation
result = Html.fromHtml(html, null, new CustomTagHandler());
}
person
okmanideep
schedule
13.08.2016