Android Textview эллипсирует с несколькими строками

Я пытаюсь получить эллипс в конце textview, который имеет несколько строк текста. «…» показывает, но его в последнем месте в тексте, а другое – другие символы. Как я могу убедиться, что «…» всегда в конце.

См. Пример изображения Введите описание изображения здесь

Файл макета XML:

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginRight="5dp" android:orientation="horizontal" > <TextView android:id="@+id/nfDateMonth" android:layout_width="64dp" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginRight="8dp" android:layout_marginTop="2dp" android:background="@drawable/topsegment" android:gravity="center" android:text="APR" android:textAllCaps="true" android:textColor="#f2e606" android:textSize="22sp" android:textStyle="bold" /> <TextView android:id="@+id/nfDateDate" android:layout_width="64dp" android:layout_height="wrap_content" android:layout_below="@+id/nfDateMonth" android:layout_marginBottom="10dp" android:layout_marginLeft="10dp" android:layout_marginRight="8dp" android:background="@drawable/bottomsegment" android:gravity="center" android:text="28" android:textSize="22sp" /> <TextView android:id="@+id/nfTitle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="2dp" android:layout_marginTop="0dp" android:layout_toRightOf="@+id/nfDateMonth" android:text="Half Marathon" android:textAppearance="?android:attr/textAppearanceMedium" android:textSize="16sp" /> <TextView android:id="@+id/nfContent" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/nfTitle" android:layout_gravity="left" android:layout_marginBottom="2dp" android:layout_marginRight="16dp" android:layout_marginTop="2dp" android:layout_toRightOf="@+id/nfDateDate" android:ellipsize="end" android:maxLines="2" android:text="Content\nline two line three sadsa dsd dsa dsd big big big sd sad sad sadsadsad asd sad as d asd as das das das das da sd asd asd one two three four five sixx seven" android:textAppearance="?android:attr/textAppearanceMedium" android:textSize="12sp" /> </RelativeLayout> 

Сегодня у меня была такая же проблема. Вероятно, это ошибка в TextView или TextUtils (метод ellipsize). В моем случае это вызвано текстом с новыми строками.

Существует два решения:

  1. Получите только первую строку:
 String longText = "..."; String body = new Scanner(longText).nextLine(); textView.setText(body); 

2. Удалите все новые строки в тексте.

 String longText = "..."; String body = longText.replace("\n", "").replace("\r", ""); textView.setText(body); 
Intereting Posts
Нет предложения Редактировать текст с многострочным в android Как скопировать и отредактировать файлы в оболочке Android? Очистка статических данных onDestroy () После поворота экрана findFragmentById () возвращает фрагмент, даже если в макете нет такого идентификатора Удалить значок заголовка группы по умолчанию расширенного списка Можно ли разместить панель действий Android вертикально? Запуск / установка / отладка приложений Android через Wi-Fi? Проблема с обновлением представления строки в recycliewiew mMap.setMyLocationEnabled (истина); Не отображается какая-либо моя кнопка местоположения Как узнать, используется ли метрическая или имперская Void … значение параметра в описании функции java Я получаю странную ошибку в студии Android Кинжал 2: ошибка о субкомпонентах, но у меня нет никаких подкомпонентов в моем приложении Отредактировано: Android Направьте изображение иглы на этот круг, похожий на метр Как установить метки для оси X и Y в двухстрочной диаграмме с помощью aChartEngine в android?