Скромный ListView - один из самых важных виджетов во всем Android, просто потому, что он используется так часто. Будь то выбор контакта для звонка, сообщения электронной почты для пересылки или электронной книги для чтения, виджеты ListView используются в широком спектре действий. Конечно, было бы неплохо, если бы они были не просто обычным текстом.
Хорошей новостью является то, что они могут быть настолько причудливыми, насколько вы захотите, конечно, в пределах ограничений экрана мобильного устройства. Однако для того, чтобы сделать их причудливыми, нужно немного поработать и использовать некоторые возможности Android, о которых я расскажу в этой главе.
Первая база
Классический ListView в Android представляет собой обычный список текста - солидный, но неинтересный. Это происходит потому, что все, что мы передаем ListView, - это набор слов в массиве, и мы говорим Android использовать простой встроенный макет для заливки этих слов в список.
Однако вы можете иметь список, строки которого состоят из значков, или значков и текста, или флажков и текста, или чего угодно. Это просто вопрос предоставления адаптеру достаточного количества данных и помощи адаптеру в создании более богатого набора объектов представления для каждой строки.
Например, предположим, вам нужен ListView, элементы которого состоят из значка, за которым следует текст. Вы можете создать макет для строки, который выглядит следующим образом, как показано в примере проекта FancyLists/Static, доступном в разделе Source Code на веб-сайте Apress: