Olá, quando eu uso o View Binding no Adapter, só renderiza uma linha de dados no recycler view. Gostaria de saber se tem algum erro na implementação.
class ListaProdutosAdapter(
private val context: Context,
produtos: List<Produto> = listOf()
) : RecyclerView.Adapter<ListaProdutosAdapter.ViewHolder>() {
private val produtos = produtos.toMutableList()
class ViewHolder(binding: ProdutoItemBinding) : RecyclerView.ViewHolder(binding.root) {
private val nome = binding.produtoItemNome
private val descricao = binding.produtoItemDescricao
private val valor = binding.produtoItemValor
fun vincula(produto: Produto) {
nome.text = produto.nome
descricao.text = produto.descricao
valor.text = produto.valor.toPlainString()
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ListaProdutosAdapter.ViewHolder {
val binding = ProdutoItemBinding.inflate(
LayoutInflater.from(context),
parent,
false
)
return ViewHolder(binding)
}
override fun onBindViewHolder(holder: ListaProdutosAdapter.ViewHolder, position: Int) {
val produto = produtos[position]
holder.vincula(produto)
}
override fun getItemCount(): Int {
return produtos.size
}
}