1

我正在开发一个使用来自 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));

内容视图的代码

<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 获得的文本?

谢谢,阿尔沙克

4

1 回答 1

1

我找到了解决方案。看起来这是 HTML 实体编码,因此要解码,您必须使用 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-03-03T12:27:06.310 回答