2016-07-06 4 views
0

Je veux montrer le contenu html dans un textview aussi si c'est plus de 5 lignes puis couper les lignes supplémentaires et ajouter "..." à la fin. J'ai utilisé ces code pour ajouter une garniture des lignes supplémentaires,Android textview ellipse supprime le contenu html

textview.setText(Html.fromHtml(message)); 

this.setAutoLinkMask(Linkify.ALL); 
this.setMaxLines(5); 
this.setEllipsize(TextUtils.TruncateAt.END); 
this.setHorizontalScrollBarEnabled(true); 

mais cela a fonctionné seulement pour certains textes,

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

la question est-il supprime le format html du texte.

Répondre

0

Modifier cette String text = textview.subSequence(0, lineEndIndex - 3) + "...";

-String text = message.subSequence(0, lineEndIndex - 3) + "...";