2011-07-01 58 views
7

我使用HTML.fromHTML(...)來設置Android中EditText的文本樣式。我需要將樣式文本作爲結果傳遞給其他活動。但是,當我使用意圖傳遞EditText的內容時,我無法弄清楚如何保留原始文本的HTML樣式。如何從Android中的EditText中提取HTML樣式的文本?

作爲一個例子,假設在的EditText原文爲:

今天是21 ST

當我提取使用edittext.getText()的文本並將其發送回作爲其結果所得到的文字是:

今天是21

有沒有一種方法來提取的EditText上的HTML風格的字符串?

+0

嗯,當然:-)請添加您的評論作爲答案,以便我可以將問題標記爲已回答。 – Mandel

+0

剛發佈它作爲答案。 :) – Abhinav

回答

3

您可以發送HTML文本本身,然後在要傳遞此文本的活動中調用Html.fromHTML。 fromHTML意在用於必須在屏幕上顯示的文本

14

使用此命令獲取樣式文本的HTML。您可以使用的EditText,TextView的將HTML或web視圖

String htmlString=Html.toHtml(edittext.getText()); 
+2

+1此解決方案也適用,但HTML.toHtml()的參數必須轉換爲「Spanned」。 – Mandel

+0

你可以直接使用EditText的getText方法而不需要鑄造 –

+0

我試過了你的解決方案,它可以工作,但是Eclipse對於鑄造抱怨。因此,我的評論。 – Mandel

3

這是行不通的,如果你的文本不跨越:

edittext.setText(""); 
//error here: 
String htmlString = Html.toHtml((Spanned) edittext.getText()); 

您需要首先創建一個實例投它:

String htmlString = Html.toHtml(new SpannableString(edittext.getText()));