Как обойти текстовые ограничения элемента TextView? - PullRequest
1 голос
/ 22 марта 2011

Видимо, существует ограничение длины текста для элемента TextView при использовании в ListView. Я должен признать, что я не проверил фактический лимит, с которым я сталкиваюсь, но для меня ясно, что 2k символов - не важная персона, где 4k символов просто не отображаются. И «не отображается» даже не правильно, так как экран кажется прокручиваемым для всей длины TextView (хотя все, что я вижу, это пробелы).

Моя проблема: я отображаю ListView для сообщения электронной почты. Все части письма находятся в отдельных элементах TextView, которые помещаются в ListView. Когда длинное сообщение (где-то более 2 тыс. Символов) помещается в TextView, TextView остается пустым, но занимает место.

Мой вопрос: Какие альтернативы / варианты существуют, чтобы решить эту проблему? Например, сделать сообщение полностью отображаемым (даже длинным).

Спасибо всем заранее за помощь.

Ответы [ 4 ]

1 голос
/ 22 марта 2011

Есть ли причина, по которой вы должны использовать ListView?Похоже, вам лучше использовать LinearLayout или RelativeLayout внутри ScrollView или, возможно, просто поместить тело письма в ScrollView, если вы хотите сохранить другие TextViews на экране.

Если выЕсли вы хотите придерживаться ListView, вы можете рассмотреть возможность использования String # substring (int beginIndex, int endIndex), чтобы увеличить размер тела и показать полное тело в другой Activity, запущенной в обработчике onListItemClick для представления списка.Вы можете использовать свойство android: ellipsize в макете XML (или TextView # setEllipsize в коде Java), чтобы ограничить текст одной строкой, но, вероятно, это не то, что вам нужно.

0 голосов
/ 23 марта 2011

Я нашел причину этой причуды!
Это ошибка, которая существует в Android <2.2! </p>

После того, как Дзиобас указал, что он заполнил строки из 10 000 символов на 2.2, я попробовал это на новом образе эмулятора.
В конце концов, я все же собираюсь изменить свой код, чтобы он не использовал ListView, и переопределить мой собственный класс ListView, как предложил Брайан

0 голосов
/ 22 марта 2011

Вы пытались установить свойство android:maxLength для элемента TextView в xml
или
установить фильтр new InputFilter.LengthFilter(maxlength)?

0 голосов
/ 22 марта 2011

вы можете установить для свойства singleLine значение true, чтобы при просмотре списка можно было отображать только текст, видимый в одной строке, или дополнительно установить для свойства maxline значение 1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...