Напишите собственный адаптер для ListView

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

  • Пункт 1
  • **Подэлемент1.1 – значение1
  • **Подэлемент1.2 - значение2
  • Пункт 2
  • **Подэлемент 2.1 — значение3
  • Пункт 3
  • **Подпункт 3.1 – значение 4
  • **Подпункт 3.2 – значение 5
  • **Подпункт 3.3 – значение 6

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

Как мне написать этот адаптер и как должны выглядеть xml-файлы. Мне нужны два xml-файла с ListView? (Поскольку в основном есть два списка? (Один с элементами и один список для каждого элемента с подэлементами/значениями))


person EirikO    schedule 13.01.2013    source источник
comment
Вы можете использовать ExpandableListView.   -  person Sam    schedule 14.01.2013


Ответы (1)


Если ваши данные поступают из Cursor, это внедрение выглядит интересно. В противном случае эта реализация работает нормально.

И, наконец, один из них вы можете получить из репозитория мотиваций RoboSpice : для более статического набора данных.

Вы должны только проявлять большую осторожность внутри своего getView метода, чтобы использовать переработанный пул представлений и избегать создания слишком большого количества объектов. Чтобы избежать использования instanceof (поскольку это дорого) для тестирования переработанных представлений, вы должны правильно использовать getViewTypeCount и getViewType.

person Snicolas    schedule 13.01.2013