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

0 ответов

Другие вопросы по тегам