В чем разница между ListView и RecyclerView

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

Ответ

ListView и RecyclerView — оба используются для отображения списков, но RecyclerView более гибкий и оптимизированный.

Ключевые различия:

  1. ViewHolder: RecyclerView требует ViewHolder (паттерн для переиспользования view), в ListView он опционален.
  2. LayoutManager: RecyclerView поддерживает горизонтальные, вертикальные и кастомные раскладки через LayoutManager, а ListView только вертикальные.
  3. Анимации: В RecyclerView встроены анимации (добавление, удаление), в ListView их нужно реализовывать вручную.
  4. Разделители: В ListView есть встроенные разделители (divider), в RecyclerView их нужно добавлять через ItemDecoration.

Пример RecyclerView:

val recyclerView = findViewById<RecyclerView>(R.id.recycler_view)  
recyclerView.layoutManager = LinearLayoutManager(this)  
recyclerView.adapter = MyAdapter(dataList)  

Используй RecyclerView для сложных списков, ListView — для простых случаев (но лучше избегать).