textsize studio example español ejemplo edittext and android android-textview

example - textview android studio español



Cómo deshabilitar TextView maxLines programmatically? (4)

Me está costando restablecer el atributo maxLines de un TextView programación.

Solo intenté configurar a 0 y no funciona. -1 bloquea la aplicación. Podría usar una solución más simple y establecer maxLines en 5000 pero no quiero hacer eso.

Alguna idea de como hacer eso?

ACTUALIZADO

Bueno, he encontrado un problema. He establecido el Elipsis también ... Voy a utilizar la siguiente solución alternativa:

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


Como todavía no hay una respuesta aprobada, la forma correcta de restablecer la propiedad de líneas máximas de TextView es:

textView.setMaxLines(Integer.MAX_VALUE);

Según el comentario de y esta respuesta . El uso de -1 causará una ArrayIndexOutOfBoundsException .

Tenga en cuenta que solo se respetarán las configuraciones END y MARQEE setEllipsize () para líneas máximas> = 2 según la documentation :

Si setMaxLines (int) se ha utilizado para establecer dos o más líneas, END y MARQUEE * solo son compatibles (otros tipos de elipsis no harán nada).


El -1 no debería bloquear su aplicación. En realidad, esto es lo que se usa dentro de TextView por defecto:

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

Este fragmento de código muestra que cuando android:maxLines no está especificado, el código usa -1 para establecer el valor a través de la función setMaxLines() .

También hice la aplicación de prueba para verificar mis conclusiones. Y funciona bien sin fallar:

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


Para configurar las líneas máximas para un texto use mTextView.setMaxLines (0) o tiene que medir programáticamente el texto de altura y multiplicar con el número de línea máxima. El resultado debe establecerse como el alto del texto.


si quiere tener solo una línea, ¿por qué no usa:

txtView.setSingleLine(true);