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

Метод setAdapter

Метод setAdapter класса RecyclerView принимает Adapter, то есть наследника RecyclerView.Adapter. После вызова RecyclerView создаёт ViewHolder и вызывает onBindViewHolder. Смену данных шлют через notifyDataSetChanged.

Синтаксис

recyclerView.adapter = myAdapter

Параметры

Параметр Описание
adapter Объект RecyclerView.Adapter или null, чтобы отключить список.

Пример

Давайте передадим adapter с двумя строками:

import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.TextView import androidx.appcompat.app.AppCompatActivity import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val recycler = findViewById<RecyclerView>(R.id.list) recycler.layoutManager = LinearLayoutManager(this) recycler.setAdapter(SimpleAdapter(listOf("abcde", "12345"))) } } class SimpleAdapter(private val items: List<String>) : RecyclerView.Adapter<SimpleAdapter.RowHolder>() { class RowHolder(view: View) : RecyclerView.ViewHolder(view) { val text: TextView = view.findViewById(R.id.label) } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RowHolder { val row = LayoutInflater.from(parent.context) .inflate(R.layout.item_line, parent, false) return RowHolder(row) } override fun onBindViewHolder(holder: RowHolder, position: Int) { holder.text.text = items[position] } override fun getItemCount(): Int = items.size }

На экране RecyclerView покажет два пункта с текстом из списка.

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

  • класс Adapter,
    который передают в setAdapter
  • метод setLayoutManager,
    который задают перед adapter
  • метод notifyDataSetChanged,
    который обновляет список после смены данных
  • класс RecyclerView,
    который рисует пункты adapter
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить