Ich möchte HTML-Inhalt in einem Textview auch zeigen, wenn es mehr als 5 Zeilen dann die zusätzlichen Zeilen trimmen und "..." am Ende hinzufügen. Früher habe ich diesen Code einen Trimm die zusätzliche Linien hinzuzufügen,Android Textansicht Ellipse entfernt den HTML-Inhalt
textview.setText(Html.fromHtml(message));
this.setAutoLinkMask(Linkify.ALL);
this.setMaxLines(5);
this.setEllipsize(TextUtils.TruncateAt.END);
this.setHorizontalScrollBarEnabled(true);
aber es funktionierte nur für einige Texte,
ViewTreeObserver vto = feedListRowHolder.description.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
ViewTreeObserver obs = feedListRowHolder.description.getViewTreeObserver();
if (Build.VERSION.SDK_INT < 16) obs.removeGlobalOnLayoutListener(this);
else obs.removeOnGlobalLayoutListener(this);
if (feedListRowHolder.description.getLineCount() > 5) {
int lineEndIndex = feedListRowHolder.description.getLayout().getLineEnd(4);
String text = textview.subSequence(0, lineEndIndex - 3) + "...";
textview.setText(Html.fromHtml(text));
}
}
});
das Problem ist, es HTML-Format aus dem Text entfernt.