【问题标题】:Android Spannable text encoding after Html.tohtml()Html.tohtml()之后的Android Spannable文本编码
【发布时间】:2014-04-01 09:08:59
【问题描述】:

我正在开发一个使用来自 EditText 的 Spannable 文本的应用程序。在对 Spannable 文本使用 Html.toHtml() 方法后,它在退出时给了我这种字符串。

Подарок ко дню святого Валентина за 4 ночи и 1 день / Хабрахабр content: Пару недель назад, я решил подарить своей любимой на день святого Валентина подарок, изготовленный своими руками. Найденные в интернете самоделки мне не понравились, хотелось сделать что-то... annotation: “ add your comment here “

当原文是这样的时候:

Пару недель назад, я решил подарить своей любимой на день святого Валентина подарок, изготовленный своими руками. Найденные в интернете самоделки мне не понравились, хотелось сделать что-то...

这是我使用的代码

contentView = (TextView)view.findViewById(R.id.contentPreview);
SpannableString contentText = (SpannableString) contentView.getText();
Log.e("Content Text",Html.toHtml(contentText));

Contentviews 的代码

<TextView
                    android:id="@+id/contentPreview"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="10dp"
                    android:gravity="left"
                    android:layout_gravity="center"
                    android:text="Content"
                    android:bufferType="spannable"
                    android:textSize="16sp" />

我的问题是如何标准化从 TextView 获得的文本?

谢谢, 阿尔沙克

【问题讨论】:

  • 标准化?是什么意思?
  • @pskink 说“标准化”是指将文本编码更改为正常编码(没有“”符号)
  • 对不起,仍然不知道你想做什么......
  • @pskink 我想更改从 textview 获得的 Spannable 文本编码,使其看起来像“原始”。
  • 你为什么使用 toHtml ?

标签: android encoding utf-8 spannablestring spannable


【解决方案1】:

我找到了解决方案。看起来这是 HTML Entity 编码,所以要解码你必须使用 Apache StringEscapeUtils.unescapeHtml4() 方法。

TextView contentView = (TextView)view.findViewById(R.id.contentPreview);
SpannableString contentText = (SpannableString) contentView.getText();
String htmlEncodedString = Html.toHtml(contentText);
String decodedString = StringEscapeUtils.unescapeHtml4(htmlEncodedString);

Log.e("Content Text",decodedString);

【讨论】:

    猜你喜欢
    • 2014-07-04
    • 1970-01-01
    • 2016-02-03
    • 1970-01-01
    • 2014-02-04
    • 1970-01-01
    • 2014-03-20
    • 2020-07-30
    • 1970-01-01
    相关资源
    最近更新 更多