0

我正在使用 Spanned 对象来处理一些 HTML 标签并在 TextView 上显示结果文本。但是 TextView 上的文本是空白的。

final Spanned output = Html.fromHtml(element.getText(), null,
                    new ElementTagHandler(element));

            textView.setText(output);

在 textView 中,如果我设置了一个常量字符串,它会按预期工作

            textView.setText("Hello");  \\ works perfectly 

但是当我传入 Hello 时,它显示空白的 TextView。


        <TextView
                android:id="@+id/view123"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom|center_horizontal"/>

我是否缺少任何需要更新的标志?

4

2 回答 2

0

您可以像链接一样简单地做到这一点

    @SuppressWarnings("deprecation")
public static Spanned fromHtml(String html){
    if(html == null){
        // return an empty spannable if the html is null
        return new SpannableString("");
    }else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
        // FROM_HTML_MODE_LEGACY is the behaviour that was used for versions below android N
        // we are using this flag to give a consistent behaviour
        return Html.fromHtml(html, Html.FROM_HTML_MODE_LEGACY);
    } else {
        return Html.fromHtml(html);
    }
}

而 html 变量可以由带有 html 标签的字符串组成,例如 , 等等...

但是如果你坚持你可以做类似这个链接的事情

于 2020-02-20T21:23:22.873 回答
0

你想试试这个吗?

textView.setText(Html.fromHtml(element.getText()), TextView.BufferType.SPANNABLE);

我希望这有帮助。

于 2020-02-21T01:45:44.563 回答