HTML.TagHandler не обнаруживает поддерживаемые Android теги HTML, такие как<p>и <b>
Я новичок в Android и узнал все от Stackru, но я застрял здесь. Html.TagHandler не обнаруживает никаких HTML-тегов, таких как
,и т. Д., Кроме тегов , как показано в Logcat. Я должен использовать тег
для использования пользовательских шрифтов. Заранее спасибо
String source = "<b>This text is bold</b>\n" +
"<p>This is another paragraph.</p>\n" +
"<img src=\"http://media.caranddriver.com/images/media/51/25-cars-worth-waiting-for-lp-mclaren-p14-photo-658259-s-original.jpg\" alt=\"W3Schools.com\" ><br>\n" +
"<img src=\"https://www.driving.co.uk/s3/st-driving-prod/uploads/2015/12/sti_RP_-_AMG_GT-72jpg-JS164837332.jpg\" alt=\"W3Schools.com\" ><br>\n";
URLImageParser p = new URLImageParser(s, Info_Activity.this);
HtmlTagHandler tagHandler = new HtmlTagHandler();
Spannable html = (Spannable) Html.fromHtml(source, Html.FROM_HTML_MODE_LEGACY, p,tagHandler);
TextView = (TextView) findViewById(R.id.textView2);
textview.setText(html);
Это HtmlTagHandler.class
public class HtmlTagHandler implements Html.TagHandler {
@Override
public void handleTag(boolean opening, String tag, Editable output, XMLReader xmlReader) {
Log.e("Tag", tag);
if (tag.startsWith("b") ) {
Log.e("Tage", "Code tag encountered1");
if (opening) {
Log.e("Tage", "Code tag encountered1");
output.setSpan(new TypefaceSpan("monospace"), output.length(), output.length(), Spannable.SPAN_MARK_MARK);
} else {
Log.e("Tage", "Code tag encountered2");
Object obj = getLast(output, TypefaceSpan.class);
int where = output.getSpanStart(obj);
output.removeSpan(obj);
output.setSpan(new TypefaceSpan("monospace"), where, output.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
else {
Log.e("Tage", "Code Exited");
}
}
private Object getLast(Editable text, Class kind) {
Object[] objs = text.getSpans(0, text.length(), kind);
if (objs.length == 0) {
return null;
} else {
for (int i = objs.length; i > 0; i--) {
if (text.getSpanFlags(objs[i - 1]) == Spannable.SPAN_MARK_MARK) {
return objs[i - 1];
}
}
return null;
}
}
LogCat:
07-11 17:23:29.712 16859-16859/com.fab E/Tag: html
07-11 17:23:29.712 16859-16859/com.fab E/Tage: Code Exited
07-11 17:23:29.712 16859-16859/com.fab E/Tag: body
07-11 17:23:29.712 16859-16859/com.fab E/Tage: Code tag encountered1
07-11 17:23:29.712 16859-16859/com.fab E/Tage: Code tag encountered1
07-11 17:23:29.715 16859-16859/com.fab E/Tag: img
07-11 17:23:29.715 16859-16859/com.fab E/Tage: Code Exited
07-11 17:23:29.718 16859-16859/com.fab E/Tag: img
07-11 17:23:29.718 16859-16859/com.fab E/Tage: Code Exited
07-11 17:23:29.718 16859-16859/com.fab E/Tag: body
07-11 17:23:29.718 16859-16859/com.fab E/Tage: Code tag encountered1
07-11 17:23:29.718 16859-16859/com.fab E/Tage: Code tag encountered2
07-11 17:23:29.718 16859-16859/com.fab E/Tag: html
07-11 17:23:29.718 16859-16859/com.fab E/Tage: Code Exited