Метод getItemCount
Метод getItemCount
у
RecyclerView.Adapter
сообщает RecyclerView длину данных.
Обычно возвращают list.size
или размер массива.
При 0 список пустой.
После смены размера вызывают
notifyDataSetChanged.
Синтаксис
override fun getItemCount(): Int = items.size
Пример
Давайте вернём два пункта из списка:
import androidx.recyclerview.widget.RecyclerView
class LineAdapter(private val items: List<String>) :
RecyclerView.Adapter<LineAdapter.Holder>() {
override fun onCreateViewHolder(
parent: android.view.ViewGroup,
viewType: Int,
): Holder {
throw UnsupportedOperationException()
}
override fun onBindViewHolder(holder: Holder, position: Int) { }
override fun getItemCount(): Int = items.size
class Holder(view: android.view.View) : RecyclerView.ViewHolder(view)
}
val adapter = LineAdapter(listOf("abcde", "12345"))
val count = adapter.itemCount
Переменная count станет равной 2
для списка из двух строк.
Смотрите также
-
метод
notifyDataSetChanged,
который обновляет список после смены count -
метод
onBindViewHolder,
который вызывается для каждой позиции меньше count -
класс
Adapter,
где реализуют getItemCount -
класс
RecyclerView,
который спрашивает count у adapter