ListView с динамически выбранным для каждого ряда строк - PullRequest
1 голос
/ 13 февраля 2011

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

Давайте предположим, что список содержит элементы, которые являются производными от общего типа, такого как книга, но другой подкласс книги, такой как книга в мягкой обложке или аудиокнига, получит совершенно другую структуру. Таким образом, у нас будет один макет на класс / тип объекта в списке. У каждого предмета есть некоторые общие свойства, но у других есть некоторые дополнительные свойства.

Так например

Строка 1 Описание Текст нажимаемая кнопка ItemType = A Строка 2 Описание Текст CheckBox ItemType = C Строка 3 Описание Текст Spinner ItemType = B Строка 4 Описание Текст нажимаемая кнопка ItemType = A Строка 5 Описание Текст Флажок ItemType = C

Таким образом, тип элемента определяет макет. ItemType A всегда имеет Clickable Item, ItemType C всегда CheckBox, ItemType B всегда Spinner, и все макеты имеют текст описания. Я не видел, как макет будет динамически применяться к элементам списка на основе элемента массива данных. Как это можно сделать или лучше, пока есть хороший пример. Спасибо

1 Ответ

1 голос
/ 13 февраля 2011

Видел несколько таких вопросов в последнее время. Одним из решений является переопределение метода getView адаптера и определение макета, который следует применять во время выполнения для каждого элемента в списке. Это большая работа, но она делает то, что вы хотите для нестандартной реализации, о которой вы просили.

...