2011-07-01 34 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()));