Ich habe einfache HTML :
<h2>Title</h2><br>
<p>description here</p>
Ich möchte einen HTML-gestalteten Text in TextView
. Wie ist dies zu tun?
Ich habe einfache HTML :
<h2>Title</h2><br>
<p>description here</p>
Ich möchte einen HTML-gestalteten Text in TextView
. Wie ist dies zu tun?
を使用する場合 androidx.
*-Klassen in Ihrem Projekt verwenden, sollten Sie HtmlCompat.fromHtml(text, flag)
.
Quelle der Methode ist:
@NonNull
public static Spanned fromHtml(@NonNull String source, @FromHtmlFlags int flags) {
if (Build.VERSION.SDK_INT >= 24) {
return Html.fromHtml(source, flags);
}
//noinspection deprecation
return Html.fromHtml(source);
}
Es ist besser zu verwenden HtmlCompat.fromHtml
als Html.fromHtml
da es weniger Code gibt - nur eine Zeile Code - und es ist der empfohlene Weg, ihn zu verwenden.
Einfache Nutzung Html.fromHtml("html string")
. Dies wird funktionieren. Wenn die Zeichenfolge Tags enthält wie <h1>
dann werden Räume entstehen. Aber wir können diese Leerzeichen nicht eliminieren. Wenn Sie die Leerzeichen dennoch entfernen möchten, können Sie die Tags in der Zeichenfolge entfernen und die Zeichenfolge dann an die Methode Html.fromHtml("html string");
. Auch im Allgemeinen diese Zeichenfolgen kommen von Server (dynamisch), aber nicht oft, wenn es der Fall ist besser, die Zeichenfolge zu übergeben, wie es an die Methode als versuchen, die Tags aus der Zeichenfolge zu entfernen ist.
Erstellen Sie eine globale Methode wie:
public static Spanned stripHtml(String html) {
if (!TextUtils.isEmpty(html)) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
return Html.fromHtml(html, Html.FROM_HTML_MODE_COMPACT);
} else {
return Html.fromHtml(html);
}
}
return null;
}
Sie können es auch in Ihrer Aktivität/Ihrem Fragment verwenden wie:
text_view.setText(stripHtml(htmlText));
Ich habe dies mit der Webansicht implementiert. In meinem Fall muss ich Bild von URL zusammen mit dem Text in Textansicht laden und dies funktioniert für mich.
WebView myWebView =new WebView(_context);
String html = childText;
String mime = "text/html";
String encoding = "utf-8";
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.loadDataWithBaseURL(null, html, mime, encoding, null);
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
8 Stimmen
Möchten Sie die Tags anzeigen oder weglassen?
1 Stimmen
Ein funktionierendes Beispiel finden Sie unter diesem Link javatechig.com/2013/04/07/how-to-display-html-in-Android-view
1 Stimmen
Wenn Sie nach einer veralteten Lösung suchen, sind Sie hier genau richtig stackoverflow.com/questions/37904739/
1 Stimmen
Textview.setText(Html.fromHtml("your HTML")); ist die beste Methode, um nur HTML-Tags anzuzeigen. Es gibt auch eine Methode, um JS abzuspielen.
0 Stimmen
Android unterstützt nicht alle HTML-Tags. Prüfen Sie dies arkapp.medium.com/Android-set-html-in-text-view-b912e1a96b21 um besser zu verstehen, wie man in der Textansicht arbeitet.