美文网首页
Android Html.fromHtml导致的崩溃

Android Html.fromHtml导致的崩溃

作者: 爱是空白日记 | 来源:发表于2021-06-23 14:17 被阅读0次

某天,一个同事突然拿着一台Android 6.0的手机过来,说有个地方闪退,我笑着说不可能,这地方已经测试过很多次了,然后我顺手拿起手机点了几下,发现手机卡住不动,我就知道被打脸了。
抛出的异常如下


异常.png

可以看得出是找不到fromHtml(String,I)这个静态方法,网上查了一下资料,发现这个方法是Android7.0开始加上的,所以故障很明显了,在6.0手机上使用7.0才有的方法,肯定是找不到的。
解决办法如下

    public static Spanned fromHtml(String html) {
        return fromHtml(html, Html.FROM_HTML_MODE_LEGACY);
    }

    @SuppressWarnings("deprecation")
    public static Spanned fromHtml(String html, int flags) {
        if (html == null) {
            return new SpannableString("");
        } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
            return Html.fromHtml(html, flags);
        } else {
            return Html.fromHtml(html);
        }
    }

在Android7.0以后,open static fun fromHtml(source: String!): Spanned!
过时了,推荐使用两个参数的方法open static fun fromHtml(source: String!, flags: Int): Spanned!,但是两个参数的这个方法需要做好版本控制,只有在7.0及以上才能使用。
其中flags可选两个参数
FROM_HTML_MODE_COMPACT:html块元素之间使用一个换行符分隔
FROM_HTML_MODE_LEGACY:html块元素之间使用两个换行符分隔

相关文章

网友评论

      本文标题:Android Html.fromHtml导致的崩溃

      本文链接:https://www.haomeiwen.com/subject/pydwyltx.html