892 Stimmen

Wie kann man HTML in TextView anzeigen?

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?

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/

3voto

shahrukhamd Punkte 229

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>"
   ... />

2voto

Vinayak Punkte 5668

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()));
    }
}

2voto

Sumit Shukla Punkte 3134

Einfach verwenden:

String variable="StackOverflow";
textView.setText(Html.fromHtml("<b>Hello : </b>"+ variable));

1voto

Isaac Sekamatte Punkte 5096
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

1voto

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.com

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.

Powered by:

X