Noções Básicas de RecyclerView
Exiba listas grandes com eficiência usando RecyclerView. Crie um Adapter e um ViewHolder e conecte os dados usando ViewBinding.
Noções Básicas de RecyclerView é uma aula grátis de Android Academy no CoddyKit. Esta é a aula 2 de 6. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Android Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Android Academy inclui 6 aulas no total.
Por que usar RecyclerView?
RecyclerView é a forma padrão de exibir uma lista rolável de itens no Android.
Ao contrário do antigo ListView, RecyclerView:
- Recicla as visualizações durante a rolagem — cria apenas a quantidade que cabe na tela
- Funciona com listas verticais, listas horizontais e grades
- É altamente personalizável com LayoutManagers
Arquitetura do RecyclerView
O RecyclerView precisa de três componentes para funcionar:
- RecyclerView — o componente no seu XML de layout
- Adapter — vincula seus dados às visualizações dos itens
- ViewHolder — mantém referências às visualizações dentro de cada item da lista
O Adapter cria ViewHolders e vincula dados a eles enquanto o usuário rola a lista.
Adicionando RecyclerView ao XML
Adicione o componente ao seu layout e declare a dependência em build.gradle:
<!-- In res/layout/activity_main.xml -->
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!-- app/build.gradle dependencies: -->
<!-- implementation 'androidx.recyclerview:recyclerview:1.3.2' -->Layout do item
Crie um arquivo XML separado para cada item da lista. Por exemplo, res/layout/item_fruit.xml:
<!-- res/layout/item_fruit.xml -->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
android:orientation="vertical">
<TextView
android:id="@+id/tvName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tvCalories"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp" />
</LinearLayout>O modelo de dados
Defina a classe de dados que representa cada item da sua lista:
data class Fruit(
val name: String,
val calories: Int
)Criando o Adapter
O Adapter vincula seus dados ao layout do item. Ele tem três métodos principais:
onCreateViewHolder— infla o XML do itemonBindViewHolder— preenche os dados de um itemgetItemCount— quantidade total de itens
Implementação do Adapter
Um Adapter completo e mínimo para RecyclerView:
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
class FruitAdapter(
private val fruits: List<Fruit>
) : RecyclerView.Adapter<FruitAdapter.ViewHolder>() {
class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
val tvName: TextView = view.findViewById(R.id.tvName)
val tvCalories: TextView = view.findViewById(R.id.tvCalories)
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view = LayoutInflater.from(parent.context)
.inflate(R.layout.item_fruit, parent, false)
return ViewHolder(view)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val fruit = fruits[position]
holder.tvName.text = fruit.name
holder.tvCalories.text = "${fruit.calories} kcal"
}
override fun getItemCount() = fruits.size
}Configurando na Activity
Conecte o RecyclerView, o Adapter e o LayoutManager na sua Activity:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
val fruits = listOf(
Fruit("Apple", 95),
Fruit("Banana", 105),
Fruit("Cherry", 50),
Fruit("Mango", 202)
)
val adapter = FruitAdapter(fruits)
binding.recyclerView.apply {
this.adapter = adapter
layoutManager = LinearLayoutManager(this@MainActivity)
}
}GridLayoutManager
Altere o LayoutManager para exibir uma grade em vez de uma lista de uma única coluna:
LinearLayoutManager— lista vertical ou horizontalGridLayoutManager(context, spanCount)— grade com N colunasStaggeredGridLayoutManager— grade escalonada no estilo do Pinterest
Verificação rápida
Qual é a função do ViewHolder em um Adapter do RecyclerView?
Recapitulação: fundamentos do RecyclerView
Agora você pode exibir listas de forma eficiente:
- RecyclerView recicla visualizações para melhorar o desempenho
- Três partes: componente RecyclerView, Adapter e ViewHolder
- O XML do item define a aparência de uma linha ou cartão
- O Adapter conecta os dados às visualizações em
onBindViewHolder - LayoutManager controla o layout de lista, grade ou grade escalonada
A seguir: torne os itens da lista selecionáveis com eventos de clique.
Perguntas Frequentes
A aula “Noções Básicas de RecyclerView” é grátis?
Sim — o texto completo de “Noções Básicas de RecyclerView” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Android Academy, atualize para CoddyKit PRO. O curso de Android Academy inclui 6 aulas no total.
O que vou aprender em “Noções Básicas de RecyclerView”?
Exiba listas grandes com eficiência usando RecyclerView. Crie um Adapter e um ViewHolder e conecte os dados usando ViewBinding. Você pratica Android Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Android Academy?
Nenhuma experiência prévia é necessária. Android Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 6.
Quanto tempo leva a aula “Noções Básicas de RecyclerView”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Android Academy?
Sim. Cada aula de Android Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Coleções do Kotlin
- Noções Básicas de RecyclerView
- Eventos de clique do RecyclerView
- SharedPreferences
- Preferências do DataStore
- Adaptadores e DiffUtil