2010-12-13 1 views
0

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

Я попытался

lv = (ListView)getListView(); 
View myRowItem = lv.getChildAt(0); 

Возможно, он не работает, потому что в данный момент я выполнил его, элементы списка еще не существует. Я предполагаю, что я должен попробовать код выше, чем событие onPostRender. Есть ли что-то подобное в Java Android?

ответ

0

Вам нужно будет создать свой собственный адаптер и поместить это условие в метод getView. Тем не менее, я хотел бы знать, почему вы хотели бы добавить верхнюю маржу только к первому элементу ... не будет ли он вести себя одинаково, если вы поместите верхний край в ListView?

+0

Это чистый вопрос дизайна. Я хочу, чтобы список отображал весь экран (или рабочую область), но когда список отображается в первый раз, я хочу получить некоторый запас между верхним краем рабочей области и первым элементом в списке. Сначала я попытался добавить строку заголовка, чтобы создать некоторый интервал, который отлично работает, пока я не начал менять адаптер и вызов ... (что создало другой набор проблем, и я пришел к выводу, что это не путь) – bobetko

+0

Кажется, единственное решение заключается в том, чтобы использовать GetWiew и применять значение поля к ConvertView, если позиция равна 0. Дело в том, что мне также нужно удалить значение маржи для позиций, отличных от 0, потому что этот ConvertView снова используется повторно. Я надеялся на более эффективное решение. – bobetko

+0

Тогда я понял, что я не знаю, как изменить верхний край конвертирования в позиции 0. Я пробовал все, что имело смысл для меня с помощью LayoutParams ... он каждый раз рушится. – bobetko

0

Для того, чтобы получить информацию, укажите свой код, который вы указываете в списке adapter.

К слову, для установки поля просто установите android:PaddingTop ListView в файле макета (файл XML).

0

Лучшим местом для настройки ListItems является его адаптер. Создайте настраиваемый адаптер для своего ListView и используйте метод getView, чтобы решить, что делать с каждым ListItem. См. Пример: How to repaint listview items when changing orientation

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

  • Нет связанных вопросов^_^