微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – HTML格式化字符串插入TextViews和EditText

所有,

我有一个数据库,将存储HTML标记的文本,以保留EditText中的格式信息.我使用HTML.toHtml(EditText.getText)创建此字符串.我注意到这个方法用< p>包装任何跨越文本.和< / p>.问题是当我使用方法HTML.fromHtml(HTMLFormattedString)然后使用TextView或EditText的setText方法时,在我的实际文本的末尾有两个额外的行,这是有道理的,因为这是如何段落标记适用于HTML.

我的问题是,无论如何要使textView或EditText缩小以不显示额外的空白行?最简单的方法是什么?我已经尝试过删除最后一个< p>和< / p>,但仅当用户没有使用返回键输入3个或更多新行时才有效.

解决方法:

我最终在创建并删除它的跨区文本末尾搜索空格.由于< p>,这照顾了额外的空间. &LT / p为H.并且比重写上述类以获得相同结果的时间更少.

public SpannableStringBuilder trimTrailingWhitespace(
        SpannableStringBuilder spannableString) {

    if (spannableString == null)
        return new SpannableStringBuilder("");

    int i = spannableString.length();

    // loop back to the first non-whitespace character
    while (--i >= 0 && Character.isWhitespace(spannableString.charat(i))) {
    }

    return new SpannableStringBuilder(spannableString.subSequence(0, i + 1));
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐