2014-02-28 62 views
1

我正在開發一個使用EditText中的Spannable文本的應用程序。對Spannable文本使用Html.toHtml()方法後,它在退出時給了我這種類型的字符串。Android Html.tohtml之後的Spannable文本編碼()

Подарок ко дню святого Валентина за 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" /> 

我的問題是如何規範我從Te得到的文本xtView?

感謝, Arshak

+0

normalize?它的意思是 ? – pskink

+0

@pskink通過說「正常化」我的意思是改變文字編碼到正常的一個(沒有「&#」符號) – Arshak92

+0

對不起,仍然不知道你想要做什麼... – pskink

回答

0

我找到了解決辦法。看起來這是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);