Отображение данных в списке ListView. Использование стандартного адаптера данных для ListView (ArrayAdapter)

При работе со списками используется один из 3 компонентов:

1. Сами элементы списков (ListView, GridView), отображающие данные

2. Источники данных - массивы, объекты ArrayList, БД и т.д., в которых находятся отображаемые данные.

3. Адаптеры - специальные компоненты, которые связывают источник данных с элементом списка.

Рассмотрим связь элемента ListView с источником данных с помощью одного из таких адаптеров - класса ArrayAdapter. Он представляет собой простейший адаптер, который связывает массив данных с набором элементов TextView, из которых, к примеру, может состоять ListView. То есть в данном случае источником данных выступает массив объектов. ArrayAdapter вызывает у каждого объекта метод toString() для приведения к строковому виду и полученную строку устанавливает в элемент TextView.

ListView list = (ListView)findViewById(R.id.list)

ArrayAdapter<String> adapter = new ArrayAdapter (this, android.R.layout.simple_list_item_1, arr);

list.setAdapter(adapter);

Для создания адаптера использовался следующий конструктор ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, list), где

- this - текущий объект activity

- android.R.layout.simple_list_item_1 - файл разметки списка, который фреймворк представляет по умолчанию. Он находится в папке Android SDK platforms/[android-номер_версии]/data/res/layout.

- list - массив данных. Здесь необязательно указывать именно массив, это может быть список ArrayList<T>. В конце неоходимо установить для ListView адаптер с помощью метода setAdapter().

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: