Как генерировать список заголовков над некоторыми разделами?

StackOverflow https://stackoverflow.com/questions/2394514

Вопрос

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

Это было полезно?

Решение

Я получил решение. Я не знаю, является ли это лучшим.

Я использую пользовательский адаптер, полученный из ArrayAdapter. Для списка, как описано в этом руководство. Отказ В классе адаптера я проверяю, если положение в методе GetView является обычной строкой, то я надул макет строки. Если это первая строка из новой группы, я надуваю планировку заголовка, это нормальный ряд, а также заголовок группы над ним.

Если вы не хотите смешивать заголовок в одну из ваших рядов. Рассмотрим следующее решение:

Вы можете перезаписать два метода getitemviewtype. а также getviewtypecount.Отказ Теперь у вас есть список, который может отображать разные строки. Вам необходимо проверить ожидаемый тип просмотра элемента в методе GetView и надувать разные макеты в зависимости от него.

Список будет обрабатывать утилизацию для вас таким образом, чтобы он вернул только правильные представления Recycle на ваш метод GetView, это означает, что если рециркуляция не является NULL, его можно использовать для отображения текущей ячейки.

Другие советы

Вы можете использовать мой SectionedAdapter, если GPLV3 приемлемо (лицензирован таким образом из-за некоторого вступательного кода). Вы можете использовать мой MergeAdapter, Если вам нужно что-то более гибкое и с менее ограничивающей лицензией (Apache 2).

Я думаю, что вы можете искать Android.Widget.expandablistView

http://developer.android.com/reference/android/widget/expandablistview.html.

Я также заинтересован в ответе на это. Должен быть более простым способом сделать это.

В поисках адаптера есть метод, адаптер. GTETITEMVEWTYPE (INT Posion).

ListView Определяет возвращаемое значение, item_view_type_header_or_footer, который указывает, является ли возвращенный элемент заголовка или нижний колонтитул.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top