Ответ
onCreateViewHolder вызывается, когда RecyclerView нужен новый ViewHolder (например, при первом создании или при прокрутке за пределы экрана). Здесь создается и возвращается новый экземпляр ViewHolder.
onBindViewHolder вызывается для связывания данных с ViewHolder. Здесь мы обновляем UI элемента списка, используя данные из позиции position.
Пример:
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view = LayoutInflater.from(parent.context).inflate(R.layout.item_layout, parent, false)
return ViewHolder(view) // Создаем ViewHolder
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val item = items[position]
holder.bind(item) // Обновляем данные ViewHolder
}
Ключевое отличие:
onCreateViewHolder— создание ViewHolder (редкие вызовы).onBindViewHolder— обновление данных (частые вызовы при скролле).