Могу ли я ограничить количество символов TextView?

Теперь у меня есть элемент ListView элементов TextView. каждый элемент TextView отображает текст (длина текста варьируется от 12 слов до 100+). Я хочу, чтобы эти TextView отображали часть текста (допустим, 20 слов или примерно 170 символов).

Как ограничить TextView фиксированным числом символов?

Ответ 1

Вот пример. Я ограничиваю атрибут maxLength, ограничиваю его одной строкой с атрибутом maxLines, затем использую ellipsize = end, чтобы добавить "..." автоматически в конец любой строки, которая была отключена.

<TextView 
    android:id="@+id/secondLineTextView" 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:maxLines="1" 
    android:maxLength="10" 
    android:ellipsize="end"/>

Ответ 2

Если вы не заинтересованы в xml-решениях, вы можете это сделать:

String s="Hello world";
Textview someTextView;
someTextView.setText(getSafeSubstring(s, 5));
//the text of someTextView will be Hello

...

public String getSafeSubstring(String s, int maxLength){
  if(!TextUtils.isEmpty(s)){
    if(s.length() >= maxLength){
      return s.substring(0, maxLength);
    }
  }
  return s;
}

Ответ 3

Используйте код ниже в TextView

 android:maxLength="65"

Enjoy...

Ответ 6

вы можете расширить класс TextView и перезаписать функцию setText(). В этой функции вы проверяете длину текста или словосочетание.