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

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

Posted by: admin June 15, 2020 Leave a comment

Questions:

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?

How to&Answers:

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

Answer:

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());

Answer:

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()));