2010-10-18 2 views
0

У меня есть ListView, который определен в XML-макете. У меня есть другой XML, который определяет TextViews, которые являются элементами в каждом из элементов в ListView, а в коде используется механизм «инфлятора». Есть 3 TextViews с именем top, middle и bottom. В течение времени выполнения ListView я изменяю некоторый текст в нижней строке одного из элементов ListView, и вместо него получается две строки текста вместо того, что было. Нижняя строка в TextViews XML имеет «одиночную строку», определенную как «false».Изменение элементов ListView во время выполнения

Когда приложение запущено, а код изменяет нижнюю строку в одном из элементов списка ListView, появляются две строки текста, но поскольку глубина элемента ListView не меняет вторую строку текста, она наполовину скрыта.

Я прочитал XML и код, чтобы попытаться разобраться, как изменить глубину элемента ListView, но безуспешно. Может ли это быть сделано и любая помощь относительно того, как? Thanks

ответ

0

ListView определенно поддерживает этот сценарий. Убедитесь, что ваш TextView имеет высоту, установленную на wrap_content, и также имеет минимальную высоту (поэтому они не кажутся крошечными, когда есть только одна строка текста.) Когда вы меняете содержимое строки, обязательно вызывайте notifyDatasetChanged() на ListView, чтобы правильно передать ретрансляцию.

+0

Спасибо Romain - совет wrap_content исправил его. – Ron

Смежные вопросы