Um componente do tipo RecyclerView permite trabalhar com dados multivalorados no Android. Sabendo disso, Daniel usou um RecyclerView para exibir os dados de uma lista de tarefas, com os dados sendo consultados no SQLite, por intermédio da biblioteca Room. Para apresentar os dados consultados no RecyclerView, Daniel deve implementar um descendente de:
- A)ArrayList;
Errada, porque ArrayList é uma estrutura de dados, não um componente responsável por adaptar itens para o RecyclerView.
- B)Composable;
Errada, porque Composable pertence ao Jetpack Compose, e não é o tipo base usado para montar um RecyclerView.
- C)RecyclerView.Adapter;
Certa, porque o RecyclerView precisa de um Adapter para criar e vincular cada item exibido à lista de dados.
- D)RoomDatabase;
Errada, porque RoomDatabase representa a camada de banco de dados do Room, não a apresentação dos dados na lista.
- E)Fragment.
Errada, porque Fragment organiza parte da interface/tela, mas não faz a adaptação dos dados para o RecyclerView.
Gabarito: C
O RecyclerView é o componente do Android usado para exibir listas e conjuntos de dados de forma eficiente, reaproveitando as views que saem da tela. Na prática, ele não “sabe” de onde os dados vêm: quem faz a ponte entre a lista de dados e os itens exibidos na tela é um Adapter. É esse adaptador que cria as views, preenche cada linha e informa quantos itens existem. Quando você usa Room para consultar o SQLite, o caminho normalmente é: a consulta retorna uma lista de objetos e o RecyclerView precisa de um adapter para transformar esses objetos em elementos visuais. Por isso, Daniel deve implementar um descendente de RecyclerView.Adapter. Sem isso, o RecyclerView fica sem o tradutor entre os dados e a interface. As alternativas com View, Composable, RoomDatabase e Fragment parecem próximas do universo Android, mas não cumprem o papel específico de alimentar o RecyclerView com dados. Em prova, a banca costuma cobrar justamente essa distinção: View é elemento de interface, Fragment é componente de tela, RoomDatabase cuida do acesso ao banco e Composable é do ecossistema Jetpack Compose, não do padrão clássico do RecyclerView. Então, o gabarito C está correto porque o RecyclerView exige um adapter para vincular a coleção de dados aos itens exibidos. É o velho casal do Android: um mostra a lista, o outro faz a mediação.