Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
373 of 502 menu
◀ ▶

Метод onBindViewHolder

Метод onBindViewHolder у RecyclerView.Adapter вызывается для каждой видимой позиции. Параметр position - индекс пункта от 0 до getItemCount minus one. Сюда пишут setText и другие обновления View в Holder.

Синтаксис

override fun onBindViewHolder(holder: Holder, position: Int) { holder.label.text = items[position] }

Параметры

Параметр Описание
holder ViewHolder с View пункта.
position Индекс пункта в данных adapter.

Пример

Давайте покажем строки abcde и 12345 в списке:

import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.TextView import androidx.recyclerview.widget.RecyclerView class LineAdapter(private val items: List<String>) : RecyclerView.Adapter<LineAdapter.Holder>() { class Holder(view: View) : RecyclerView.ViewHolder(view) { val label: TextView = view.findViewById(R.id.label) } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): Holder { val view = LayoutInflater.from(parent.context) .inflate(R.layout.item_line, parent, false) return Holder(view) } override fun onBindViewHolder(holder: Holder, position: Int) { holder.label.text = items[position] } override fun getItemCount(): Int = items.size }

На экране первый пункт покажет "abcde", второй - "12345".

Смотрите также

  • метод onCreateViewHolder,
    который создаёт holder до bind
  • метод getItemCount,
    который задаёт число позиций
  • метод setText,
    которым меняют текст в holder
  • класс RecyclerView,
    который вызывает onBindViewHolder при прокрутке
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить