Come distriggersre i programmi MaxView di TextView in modo programmato?

Ho difficoltà a ripristinare l'attributo maxLines di un TextView programmato.

Ho appena provato a impostare su 0 e non funziona. -1 interrompe l'applicazione. Potrei usare una soluzione più semplice e impostare le maxLines a 5000 ma non voglio farlo.

  • Imansible ricevere la trasmissione in ICS
  • L'accesso a Facebook non funziona in alcuni dispositivi
  • Come fare riferimento ad un lambda da dentro?
  • Bitcoinj non verrà compilato su Nexus 5 con Android Studio
  • Layout android avanzato: fare un divisore ListView da un elenco di livelli
  • Imansible eseguire l'applicazione sotto il lollipop
  • Qualche idea come farlo?

    AGGIORNATO

    Beh, ho trovato un problema .. ho impostato anche l'Ellipsize … ho intenzione di utilizzare la seguente soluzione:

     TextView questionDetail = (TextView) mQuestionDetailHeader.findViewById(R.id.desc); questionDetail.setText(mCurrentQuestion.getQuestion()); questionDetail.setMaxLines(Integer.MAX_VALUE); //As in the android sourcecode questionDetail.setEllipsize(null); 

  • Perché dichiarare un argomento function per essere definitivo?
  • Emulazione scheda host su Android (4.4 / KitKat e sopra) con Nexus 5
  • Come fare apk Secure. Proteggere da Decompile
  • Android - Gestore allarmi each giorno
  • Il metodo onDraw () esteso di SurfaceView non è mai stato chiamato
  • SyncAdapter periodicsync () non viene triggersto
  • 4 Solutions collect form web for “Come distriggersre i programmi MaxView di TextView in modo programmato?”

    Poiché non esiste ancora una risposta approvata: il modo corretto per reimpostare la properties; maxlines di TextView è:

    textView.setMaxLines(Integer.MAX_VALUE);

    Come per il commento di Valdemar e questa risposta a stackoverflow . L'utilizzo di -1 determinerà un ArrayIndexOutOfBoundsException .

    Tenga presente che solo le MARQEE setEllipsize () END e MARQEE saranno rispettate per le linee max => 2 secondo la documentazione :

    Se setMaxLines (int) è stato utilizzato per impostare due o più righe, END e MARQUEE * sono supportte solo (altri tipi di ellisse non faranno nulla).

    Il -1 non dovrebbe bloccare la tua applicazione. Questo in realtà ciò che viene utilizzato all'interno di TextView per impostazione predefinita:

     case com.android.internal.R.styleable.TextView_maxLines: setMaxLines(a.getInt(attr, -1)); break; 

    Questo pezzo di codice mostra che quando android:maxLines non è specificato, allora il codice usa -1 per impostare il valore tramite la function setMaxLines() .


    Ho anche fatto un'applicazione di prova per verificare le mie conclusioni. E funziona bene senza schiantarsi:

     public class HelloWorld extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity); TextView text = (TextView)findViewById(R.id.text); text.setMaxLines(-1); } } 

    Per impostare le maxLines per un text usa mTextView.setMaxLines (0) oppure devi misurare la misura del text di altezza e moltiplicare con il numero della linea max Il risultato deve essere impostato come l'altezza del textView

    se si desidera avere una sola row, allora perché non si utilizza:

      txtView.setSingleLine(true); 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.