Reputation: 519
I am using webservice in my android application. In my webservice result I get a HTML formatted String as result.
Assume this is my web service result:
Books on Chennai:\n
I am using Html.fromHtml(String) to add this to my TextView. But I am not getting new line feature. I displays it as a paragraph.
Books on Chennai: Madras Discovered, Tales of Old and New Madras, Madras (1992) by S. Muthiah Madras – its Past and its Present (1995) by S. Muthiah Madras – its Yesterdays and Todays and Tomorrows by S. Muthiah At Home in Madras (1989) by S. Muthiah The Spirit of Chepauk (1998) by S. Muthiah The Story Of Fort St. George (1945) by Col. D.M. ReidFiction set in Chennai Kalyani’s Husband by S.Y. Krishnaswamy Chasing Rainbows in Chennai (Chasing Rainbows in Chennai), (2003) by Colin Todhunter In Old Madras (1914) by Bithia Mary Crocker
How can I present this data in an easily readable and understandable way?
Upvotes: 24
Views: 23300
Reputation: 126455
Having this string as an example:
String sBooks = "Books on Chennai:\n ....";
Replace: \n
with <br>
:
sBooks = sBooks.replace("\n", "<br>");
Example using a TextView
:
myTextView.setText(Html.fromHtml(sBooks));
Upvotes: 91
Reputation: 3199
If you are following kotlin
const val HTML_TAGS = " <br/> "
const val NEW_LINE = "\n"
val description = targetText?.replace(NEW_LINE, HTML_TAGS) ?: ""
text_view.text = HtmlCompat.fromHtml(description, HtmlCompat.FROM_HTML_MODE_LEGACY)
Upvotes: 1
Reputation: 554
have you tried with \r\n ?`
If this not works then you can try with :
\n
with escape sequence : \\\n
I hope this will help you :)
Something like this
string = string.replace("\\\n", System.getProperty("line.separator"));
Upvotes: 0
Reputation: 2769
The best option is instead of TextView
use a WebView
and
final String mimeType = "text/html";
final String encoding = "UTF-8";
webView.loadDataWithBaseURL("", contentToShowString, mimeType,
encoding, "");
Upvotes: 0
Reputation: 47807
You should replace this \n
with <br>
. For more android HTML
tags support go to Android Support HTML Tags or daniel-codes.blogspot.in
Upvotes: 3
Reputation: 5368
Use this:
b.setText(Html.fromHtml("<b>" + your string+ "</b>" + "<br/>" + cursor.getString(1)));
Upvotes: 1
Reputation: 1442
Just replace \n
with <br/>
tag and then pass the whole string to Html.fromHtml(String)
. By this it will be displayed in proper format.
Upvotes: 6