Mandel
Mandel

Reputation: 2988

How to extract HTML styled text from an EditText in Android?

I am using HTML.fromHTML(...) to style the text of an EditText in Android. I need to pass the styled text back as a result to another activity. However, when I use an intent to pass the contents of the EditText I am unable to figure out how to retain the HTML style of the original text.

As an example, suppose that the original text in the EditText is:

Today is the 21st

When I extract the text of using edittext.getText() and send it back as a result the resulting text is:

Today is the 21st

Is there a way to extract the HTML styled string from the EditText?

Upvotes: 9

Views: 7521

Answers (3)

live-love
live-love

Reputation: 52366

This won't work if your text is not spanned:

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

You need to cast it by creating an instance first:

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

Upvotes: 4

Walid Hossain
Walid Hossain

Reputation: 2714

Use this to get the HTML of the styled text. You can use the HTML in EditText, TextView or WebView

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

Upvotes: 16

Abhinav
Abhinav

Reputation: 39884

You can send the HTML text itself and then call Html.fromHTML in the activity to which you are passing this text. fromHTML is meant to be used for text which has to be displayed on the screen

Upvotes: 4

Related Questions