Что такое ListView

«Что такое ListView» — вопрос из категории UI и Views, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

ListView — это устаревший компонент для отображения прокручиваемых списков данных. Он работает через адаптер (BaseAdapter, ArrayAdapter, CursorAdapter), который связывает данные с элементами списка.

Проблемы ListView:

  • Нет встроенного ViewHolder (приводит к тормозам при прокрутке)
  • Нет автоматического разделения элементов (в отличие от RecyclerView)
  • Менее гибкий в кастомизации

Пример использования:

val listView = findViewById<ListView>(R.id.list_view)
val adapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, items)
listView.adapter = adapter

listView.setOnItemClickListener { _, _, position, _ ->
    Toast.makeText(this, "Clicked: ${items[position]}", Toast.LENGTH_SHORT).show()
}

Сейчас рекомендуется использовать RecyclerView, который решает проблемы ListView через ViewHolder паттерн и LayoutManager. ListView остаётся только для очень простых случаев.