将 HTML 数据显示到 Textview 中造成问题
Displaying HTML data into Textview creating issues
您好,我正在尝试在文本视图中显示 HTML 数据。 HTML 数据是对一些内容的描述,其中包括段落更改以及 HTML.At 中的标记,首先我使用 HTML.fromhtml,但是当我 运行 我的应用程序没有如您所知,行分隔符 HTML.fromhtml 删除所有 HTML 标签。然后我干脆把所有的to/n都换掉了。而且效果很好。但是可能会有一些变化,因为我没有使用 HTML.fromhtml,将来我的文本视图中的一些其他标签会被替换。如何解决这个问题?该怎么办?
这是HTML数据
Vanaf nu kan je hier - tegelijkertijd met Italië en dus zonder gevaar op
spoilers - het derde, bloedstollende seizoen van Gomorra bekijken. Dit is
uniek in de Benelux!\r\n<br><br>\r\nZes weken lang komen er elke zaterdag
twee nieuwe afleveringen online.\r\nNa aankoop van dit derde seizoen krijg
je toegang tot de beschikbare afleveringen en worden nieuwe afleveringen
automatisch toegevoegd aan je account.\r\n <br><br>\r\nHoud dus alvast deze
zaterdagen vrij, want maffia was nooit eerder zo verslavend.\r\n <br>
<br>\r\n18\/11\/2017 – aflevering 1 en 2<br> 25\/11\/2017 – aflevering 3 en
4<br>02\/12\/2017 – aflevering 5 en 6<br>09\/12\/2017 – aflevering 7 en
8<br>16\/12\/2017 – aflevering 9 en 10<br>23\/12\/2017 – aflevering 11 en
12<br>\r\n <br>\r\nSeizoen 1 en 2 nog niet gezien? Geniet tot 30 november
van een verlaagde prijs op beide seizoenen (slechts €9.99).<br>\r\nPrego!",
我用这个方法在我的文本视图中设置文本。
public static Spanned getTextViewTextFromApi(String input) {
Spanned result;
String text;
String newline = System.getProperty("line.separator");
text = "" + (input.replace("\r\n", newline).replace("\n", newline));
result = Html.fromHtml(text);
return result;
}
android textiview 不完全支持 HTML 所有标签视图。你可以使用这个 LIBRARY。该库支持所有类型的 HTML 标签,这些标签将设置为 android 文本视图。
支持的 HTML 标签是:
<p>
<div> handled exactly like <p>
<br>
<b>
<i>
<strong> (bug on some Android versions: generates italic)
<em> (bug on some Android versions: generates bold)
<u>
<tt>
<dfn>
<sub>
<sup>
<blockquote>
<cite>
<big>
<small>
<font size="..." color="..." face="...">
<h1>, <h2>, <h3>, <h4>, <h5>, <h6>
<a href="...">
<img src="...">
Extended support by HtmlTextView
<ul>
<ol>
<li>
<code>
<center>
<strike>
希望对您有所帮助。
Spanned spanned;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
spanned = Html.fromHtml(mSampletext, Html.FROM_HTML_MODE_COMPACT);
} else {
spanned = Html.fromHtml(mSampletext);
}
System.getProperty("line.separator");
Log.e("etagescaped", spanned+"") ;
text.setText(spanned);
Answer: Vanaf nu kan je hier - tegelijkertijd met Italië en dus zonder gevaar op spoilers - het derde, bloedstollende seizoen van Gomorra bekijken. Dit is uniek in de Benelux!
Zes weken lang komen er elke zaterdag twee nieuwe afleveringen online. Na aankoop van dit derde seizoen krijg je toegang tot de beschikbare afleveringen en worden nieuwe afleveringen automatisch toegevoegd aan je account.
Houd dus alvast deze zaterdagen vrij, want maffia was nooit eerder zo verslavend.
18/11/2017 – aflevering 1 en 2
25/11/2017 – aflevering 3 en 4
02/12/2017 – aflevering 5 en 6
09/12/2017 – aflevering 7 en 8
16/12/2017 – aflevering 9 en 10
23/12/2017 – aflevering 11 en 12
Seizoen 1 en 2 nog niet gezien? Geniet tot 30 november van een verlaagde prijs op beide seizoenen (slechts €9.99).
Prego!",
screenshot of the above code
您好,我正在尝试在文本视图中显示 HTML 数据。 HTML 数据是对一些内容的描述,其中包括段落更改以及 HTML.At 中的标记,首先我使用 HTML.fromhtml,但是当我 运行 我的应用程序没有如您所知,行分隔符 HTML.fromhtml 删除所有 HTML 标签。然后我干脆把所有的to/n都换掉了。而且效果很好。但是可能会有一些变化,因为我没有使用 HTML.fromhtml,将来我的文本视图中的一些其他标签会被替换。如何解决这个问题?该怎么办?
这是HTML数据
Vanaf nu kan je hier - tegelijkertijd met Italië en dus zonder gevaar op
spoilers - het derde, bloedstollende seizoen van Gomorra bekijken. Dit is
uniek in de Benelux!\r\n<br><br>\r\nZes weken lang komen er elke zaterdag
twee nieuwe afleveringen online.\r\nNa aankoop van dit derde seizoen krijg
je toegang tot de beschikbare afleveringen en worden nieuwe afleveringen
automatisch toegevoegd aan je account.\r\n <br><br>\r\nHoud dus alvast deze
zaterdagen vrij, want maffia was nooit eerder zo verslavend.\r\n <br>
<br>\r\n18\/11\/2017 – aflevering 1 en 2<br> 25\/11\/2017 – aflevering 3 en
4<br>02\/12\/2017 – aflevering 5 en 6<br>09\/12\/2017 – aflevering 7 en
8<br>16\/12\/2017 – aflevering 9 en 10<br>23\/12\/2017 – aflevering 11 en
12<br>\r\n <br>\r\nSeizoen 1 en 2 nog niet gezien? Geniet tot 30 november
van een verlaagde prijs op beide seizoenen (slechts €9.99).<br>\r\nPrego!",
我用这个方法在我的文本视图中设置文本。
public static Spanned getTextViewTextFromApi(String input) {
Spanned result;
String text;
String newline = System.getProperty("line.separator");
text = "" + (input.replace("\r\n", newline).replace("\n", newline));
result = Html.fromHtml(text);
return result;
}
android textiview 不完全支持 HTML 所有标签视图。你可以使用这个 LIBRARY。该库支持所有类型的 HTML 标签,这些标签将设置为 android 文本视图。
支持的 HTML 标签是:
<p>
<div> handled exactly like <p>
<br>
<b>
<i>
<strong> (bug on some Android versions: generates italic)
<em> (bug on some Android versions: generates bold)
<u>
<tt>
<dfn>
<sub>
<sup>
<blockquote>
<cite>
<big>
<small>
<font size="..." color="..." face="...">
<h1>, <h2>, <h3>, <h4>, <h5>, <h6>
<a href="...">
<img src="...">
Extended support by HtmlTextView
<ul>
<ol>
<li>
<code>
<center>
<strike>
希望对您有所帮助。
Spanned spanned;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
spanned = Html.fromHtml(mSampletext, Html.FROM_HTML_MODE_COMPACT);
} else {
spanned = Html.fromHtml(mSampletext);
}
System.getProperty("line.separator");
Log.e("etagescaped", spanned+"") ;
text.setText(spanned);
Answer: Vanaf nu kan je hier - tegelijkertijd met Italië en dus zonder gevaar op spoilers - het derde, bloedstollende seizoen van Gomorra bekijken. Dit is uniek in de Benelux!
Zes weken lang komen er elke zaterdag twee nieuwe afleveringen online. Na aankoop van dit derde seizoen krijg je toegang tot de beschikbare afleveringen en worden nieuwe afleveringen automatisch toegevoegd aan je account.
Houd dus alvast deze zaterdagen vrij, want maffia was nooit eerder zo verslavend.
18/11/2017 – aflevering 1 en 2
25/11/2017 – aflevering 3 en 4
02/12/2017 – aflevering 5 en 6
09/12/2017 – aflevering 7 en 8
16/12/2017 – aflevering 9 en 10
23/12/2017 – aflevering 11 en 12
Seizoen 1 en 2 nog niet gezien? Geniet tot 30 november van een verlaagde prijs op beide seizoenen (slechts €9.99).
Prego!",
screenshot of the above code