0

I have a String with (\n) as a line break

String mytext = "<p>Your email is not correct.\nPlease check again</p>"
//(mytext value load from my database)

And i put mytext on webview like this :

web_view.loadDataWithBaseURL("", mytext, "text/html", "UTF-8", "");

But, i don't know why \n doesn't work as line break, but it show as String "\n"?

How to fix it?

I tried to replace \n with </ br> with mytext.replace("\n","</ br>") and mytext.replaceAll("\n", "</ br>") but it doesn't work.

Thanks

Updated

So the solution is :

mytext.replace ("\\r\\n", "<br>").replace ("\\n", "<br>");

Thank you, @ChristianJonassen for your help.

wdyz
  • 185
  • 4
  • 19

1 Answers1

5

You are using HTML, you need to introduce an HTML line break.

In your case, the source code of the page will be given the line break, but not the representation given to the user.

Here is how you can fix it:

String mytext = "<p>Your email is not correct.<br />Please check again</p>"

Since it comes from an external service, you can edit the String by replacing \n:

mytext.replaceAll("\n", "<br />");
Knossos
  • 15,802
  • 10
  • 54
  • 91
  • but i can't edit mytext, it load from my office server. – wdyz Apr 19 '16 at 11:42
  • There is typically a method called "nl2br" (which changes plain newlines to
    ). That might help. :)
    – Christian Neverdal Apr 19 '16 at 11:43
  • i can't put the original problem here, so i make an example with simple String above. – wdyz Apr 19 '16 at 11:43
  • @ChristianJonassen : can you give me an example how to use it? – wdyz Apr 19 '16 at 11:44
  • 1
    There are various approaches. http://stackoverflow.com/questions/26174622/android-format-string-to-html-add-new-lines-br ... or you can Google it further. It's "newline to br" (or newline to HTML linebreak, or whatever). – Christian Neverdal Apr 19 '16 at 11:46
  • @ChristianJonassen : wow...thanks, dude.. so the solution is mytext.replace ("\\r\\n", "
    ").replace ("\\n", "
    ");
    – wdyz Apr 19 '16 at 11:51