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?
Es wurden Unterklassen für TextView, WebView und alle möglichen Lösungen vorgeschlagen. Ich frage mich, warum niemand eine einfache Bindungsadapter .
@BindingAdapter(value = ["htmlText"])
fun TextView.setHtmlText(string: String?) {
text = HtmlCompat.fromHtml(string?:"", HtmlCompat.FROM_HTML_MODE_COMPACT)
}
Ihr TextView xml wird also wie folgt aussehen
<TextView
...
htmlText="<p>Your <b>HTML</b> text</p>"
... />
Wenn Sie eine benutzerdefinierte Textansicht schreiben, wird die grundlegende HTML-Textfunktion bei einigen Geräten verschwinden.
Wir müssen also folgende zusätzliche Schritte durchführen, damit es funktioniert
public class CustomTextView extends TextView {
public CustomTextView(..) {
// other instructions
setText(Html.fromHtml(getText().toString()));
}
}
public class HtmlTextView extends AppCompatTextView {
public HtmlTextView(Context context) {
super(context);
init();
}
private void init(){
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
setText(Html.fromHtml(getText().toString(), Html.FROM_HTML_MODE_COMPACT));
} else {
setText(Html.fromHtml(getText().toString()));
}
}
}
Aktualisierung von obige Antwort
Verwenden Sie den folgenden Code, um die Lösung zu erhalten:
textView.setText(fromHtml("<Your Html Text>"))
Verwendungszweck Methode
public static Spanned fromHtml(String text)
{
Spanned result;
if (Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
result = Html.fromHtml(text, Html.FROM_HTML_MODE_LEGACY);
} else {
result = Html.fromHtml(text);
}
return result;
}
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.