Не удается заставить многоточие работать на Android

У меня есть TextView. Я хочу, чтобы он был эллипсисом, если он был длиннее его доступной ширины. Это не работает, если входная строка не имеет пробелов … может ли кто-нибудь привести пример этой работы? Я пробовал разные комбинации:

SingleLine = "true" maxLines = "1" scrollHorizontally = "false"

Ни один из них не имеет никакого эффекта. Опять же, если я поставлю строку, в которой нет пробелов, то эллипсис появится правильно. Что мне не хватает? Я пробовал это на 1.5, 1.6, 2.0, все те же проблемы.

благодаря

Solutions Collecting From Web of "Не удается заставить многоточие работать на Android"

Эллипсизация нарушена ( проголосуйте за отчет об ошибке , тем более что они не воспроизводятся), поэтому вам нужно использовать незначительный взлом. Использование:

android:inputType="text" android:maxLines="1" 

На все, что вы хотите эллипсизировать. Кроме того, не используйте singleLine , он устарел с 1,5.

Это была единственная комбинация, с которой я мог бы работать в SDK ver4:

 android:ellipsize="end" android:singleLine="true" 

(Да, я знаю, что это говорит, что он устарел, но меня оставили без выбора)

Попробуйте:

 textView.setSingleLine(); TruncateAt truncate = TruncateAt.END; textView.setEllipsize(truncate); 

Простое решение.

 int limit = 9; if (str.length() > limit) { textView.setText(str.substring(0, limit)+"..."); } else { textView.setText(str); }